Activar acceso remoto MySQL en CentOS 7

Luego de configurar MySQL 5.7 en CentOS 7 es posible que queramos acceder de manera remota para gestionar las bases de datos, no es recomendable permitir el acceso remoto a root pero si tal vez interese a un usuario específico dentro de IPs específicas.
Lo primero que debemos habilitar es el puerto en el firewall, CentOS 7 ya no utiliza iptables sino firewall. Para habilitar el puerto debemos especificar para que zona lo queremos abrir. Consultamos las zonas con el siguiente comando:
firewall-cmd --get-active-zones
Esto nos debería devolver algo así:
public
  interfaces: eno16777984
Dónde interfaces lo podemos asociar a la ip con ifconfig. En este caso sólo tenemos una zona, public.
firewall-cmd --zone=public --add-port=3306/tcp –permanent
firewall-cmd –reload
Una vez abierto el puerto ahora debemos configurar MySQL para que el usuario deseado acceda de manera remota:
$ mysql -u root -p
Enter password:   
mysql> use mysql   
mysql> GRANT ALL ON *.* TO usuario@'1.1.%.%' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
En este caso permito el acceso a todas las IP que comiencen con 1.1. Este comando puede variar para todas las IPs, o todas las bases de datos, o algunas tablas.
Con esto ya tendríamos configurado el acceso remoto al usuario para todas las bases de datos de MySQL a las que tiene acceso.









Comentarios

Anónimo ha dicho que…
Muchas gracias. Como las maneras de configurar han cambiado, antes habia mas pasos en archivos de configuración que o no existen o no hacen nada, dependiendo de la distro y la version de Mysql/Maria.

Esto fue sencillo y acertivo.
Gracias.