Habilitar el Acceso remoto a MySQL, Centos 7.

Hola, hoy vamos a hablaros de un problema muy común. Habilitar el acceso remoto en una instalación de MySQL en Centos 7.

En las últimas versiones de Centos 7 viene activado por defecto firewall-cmd. A parte de tener deshabilitado SeLinux, en las últimas versiones tenemos que agregar el puerto 3306 y hacer más gestiones para habilitar el acceso remoto a MySQL. Veamos cómo hacerlo.

Habilitar el acceso remoto en my.cnf

En primer lugar hay que revisar o cambiar el fichero mcy.cnf. Para localizarlo podemos ayudarnos del comando “locate my.cnf“. Esta instrucción localizará todos los ficheros my.cnf existentes. Generalmente estará en “/etc/my.cnf”. Una vez localizado, debemos realizar una copia del mismo con “cp /etc/my.cnf /etc/my.cnf-ori“. Una vez copiado ya podremos modificarlo.

Dentro de la sección [mysqld], hay que revisar si existen los parámetros:

bind-address=127.0.0.1
skip-networking

En caso de existir habría que comentar ambos, de lo contrario solo podríamos trabajar en local. Si en bind-address tuviéramos una IP distinta a 127.0.0.1, lo podríamos dejar sin comentar. Este parámetro indica en qué dirección queremos que escuche MySQL. Para comentarlos tan solo habría que añadir “#” delante de los mismos:

#bind-address=127.0.0.1 
#skip-networking

Una vez cambiado el fichero hay que reiniciar MySQL con:

service mysqld restart

Añadir el puerto a firewall-cmd o iptables

Después de haber configurado MySQL, hay que añadir el puerto a “firewall-cmd“. Este firewall viene por defecto instalado y habilitado en las últimas versiones de Centos. Hay que añadir el puerto de MySQL a dicho firewall para que podamos acceder desde el exterior. Como por defecto es el puerto 3306 usaremos este en los ejemplos.

En primer lugar tenemos que ver en qué zonas está activado firewall-cmd. Normalmente será “public”

habilitar el acceso remoto mysql centos 7

Una vez hecho esto tendremos que agregar el puerto a la zona y aplicamos la configuración:

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

Si nos indica “Command not found” tendremos que agregarlo a iptables con:

iptables -I INPUT -i <interfaz> -p tcp --destination-port 3306 -j ACCEPT

Después de habilitar el acceso remoto, podremos instalar también MySQL Workbench en Centos 7.

Deseamos que os haya servido.

Un saludo,

Equipo de base de datos

Fuente: https://bgasparotto.com/enable-mysql-remote-access