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

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

En el estado de entrega de tu 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, modifica la configuración del servidor MySQL y reiníciala. Debes cambiar la configuración en el archivo /etc/my.cnf.

Inicia sesión como root en tu Servidor Dedicado y abre el archivo /etc/my.cnf, por ejemplo con el editor vi:

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

Busca 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ítala 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 

Reinicia 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

Utiliza el siguiente comando para iniciar sesión en tu shell MySQL en tu servidor. Introduce la contraseña root o la contraseña de administrador:

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

Introduce el siguiente comando:

use mysql; 

Utiliza los siguientes comandos para restringir el acceso a tu 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úrate 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'; 

Sal del shell de MySQL con el comando Exit.