Permitir el acceso externo al servidor MySQL

Información válida para: servidores Linux de IONOS

En este artículo, le explicamos cómo hacer que el servidor MySQL sea accesible externamente.

En el estado de entrega de su servidor, no es posible el acceso externo al servidor MySQL. En algunos casos, sin embargo, es necesario acceder al servidor MySQL a través de la red. Esto incluye el uso de cierto software de administración de bases de datos, o el uso del servidor como un servidor de base de datos dedicado.

Modificar la configuración de MySQL

Para habilitar el acceso de red a una base de datos MySQL, modifique la configuración del servidor MySQL y reiníciela. Debe cambiar la configuración en el archivo /etc/my.cnf.

Inicie sesión como root en su Servidor Dedicado y abra el archivo /etc/my.cnf, por ejemplo con el editor vi:

root@p12345678:~ # vi /etc/my.cnf 

Busque la línea bind-address = 127.0.0.1, ya que este comando le dice a la base de datos MySQL que acepte conexiones de red entrantes sólo desde la interfaz loopback, deshabilítela comentándola con #:

#bind-address = 127.0.0.1 

A tener en cuenta: en algunas distribuciones de Linux la línea anterior no existe. En este caso, la línea que se comenta es la siguiente:

Skip Networking 

Reinicie el servidor de base de datos para que el cambio de configuración surta efecto:

root@p12345678:~ # /etc/init.d/mysql restart

El servidor MySQL ahora acepta conexiones externas a través del puerto predeterminado para MySQL (3306).

Restringir el acceso a direcciones IP específicas

Utilice el siguiente comando para iniciar sesión en su shell MySQL en su servidor. Introduzca la contraseña root o la contraseña de administrador:

root@serverName:~$ mysql -u admin -p

Introduzca el siguiente comando:

use mysql; 

Utilice los siguientes comandos para restringir el acceso a su base de datos a una dirección IP específica, sustituyendo los nombres y la dirección IP en el ejemplo por los datos deseados. Asegúrese también de pulsar el botón ENTER después de cada ;:

mysql> update db set Host='123.123.123.123' where Db='yourdatabasename';
mysql> update user set Host='123.123.123.123' where user='yourdatabaseUsername'; 

Salga del shell de MySQL con el comando Exit.