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.

2_thumb[2]

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