Guía para obtener conexiones remotas MySQL en CentOS, hPanel y RHEL
Las bases de datos MySQL y los servidores web se gestionan ampliamente con la ayuda de la misma máquina local. Sin embargo, esto puede causar muchos inconvenientes que pueden convertirse en problemas mayores.
Teniendo esto en cuenta, las empresas y los equipos suelen optar por servidores MySQL remotos para permitir que el servidor web y la base de datos se desarrollen a una velocidad cómoda y crezcan hasta el punto necesario. Como resultado, el servidor y la base de datos disponibles de forma remota han demostrado su excelencia en la mejora del rendimiento del hardware y en la gestión de los problemas de seguridad.
El objetivo del servidor MySQL es ser sensible a las conexiones entrantes que llegan localmente. Por lo tanto, su configuración predeterminada implica que no se puede acceder desde ningún sistema remoto.
Aun así, es posible acceder de forma remota a la base de datos elegida, concretamente con un servidor CentOS y RHEL. Siga leyendo esta guía para ver cómo hacerlo exactamente.
Permitir conexiones remotas a un servidor de base de datos MySQL en CentOS o RHEL
Para ver cómo funciona esta guía, necesitas tener las siguientes herramientas a tu disposición:
- Un servidor MySQL remoto.
- Línea de comandos/ventana de terminal.
- Máquinas locales y remotas con privilegios de root.
Si el servidor no pertenece a tu centro de datos, primero tendrás que establecer una conexión SSH. Si lo haces en Windows, utiliza PuTTY. Si utilizas Linux y MacOS, lo mejor es utilizar el shell de terminal integrado.
Como usuario de un servidor VPS, puedes encontrar los datos de inicio de sesión en la pestaña «Servidores» del hPanel.
Cómo modificar el archivo de configuración del servidor MySQL
Ahora es el momento de asignar a tu servidor remoto la tarea de «capturar» las conexiones externas. A continuación te explicamos cómo añadir una nueva opción a un archivo de configuración.
Inicie sesión en el servidor como usuario root y ejecute este comando para controlar la ubicación del archivo de configuración de MySQL:
mysql --help | grep «Default options» -A 1
El resultado será similar a este:
A continuación, edite el archivo de configuración de MySQL con la ayuda del editor nano:
nano /etc/my.cnf
Cuando abras el archivo, busca la línea con la marca [mysqld] y complétala con el siguiente fragmento de código:
bind-address=TU.SERVIDOR.IP
Sustituye TU.SERVIDOR.IP por la dirección IP definitiva de tu sistema remoto, que es el destino al que debe escuchar el servidor MySQL.
Si ves la frase skip-networking entre las líneas de código, conviértela en un comentario (colocando un #) o simplemente elimínala. De lo contrario, este fragmento no permitirá que el servidor «capture» las conexiones TCP/IP.
Una vez finalizada la edición, haz clic en «CTRL+X» o «COMMAND+X» (para Mac) para guardar el archivo. Los cambios que ha realizado se aplicarán tras reiniciar MySQL. Para ello, utilice el siguiente comando:
systemctl restart mysqld
Cómo abrir el puerto MySQL necesario
A continuación, es necesario abrir el puerto correcto, ya que el puerto predeterminado en MySQL para conexiones externas es siempre el 3306. Si el servicio de firewall ya está configurado en el servidor MySQL, el siguiente paso lógico es permitir que el tráfico pase por el puerto.
Esto funciona si su herramienta de firewall predeterminada es iptables, ejecute el siguiente comando:
iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
Ahora, este comando ha abierto el puerto 3306 para una cantidad ilimitada de tráfico y ha habilitado el acceso remoto para todas las direcciones IP.
Si no desea permitir este tipo de acceso, solo tiene que conceder acceso al servidor a una dirección IP específica con la ayuda de este comando:
iptables -A INPUT -i eth0 -s remote_IP_address -p tcp --destination-port 3306 -j ACCEPT
No olvide cambiar remote_IP_adress por la dirección IP necesaria del host remoto.
Por último, guarde la configuración renovada de iptables introduciendo:
service iptables save
La respuesta será similar a esta:
A partir de ahora, el servidor concederá conexiones remotas al servicio MySQL.
Compruebe los resultados ejecutando el servidor MySQL para establecer la conexión desde el sistema remoto con el siguiente comando:
mysql -u nombre_usuario -h mysql_server_ip -p
El «nombre_usuario» debe sustituirse por su nombre de usuario de MySQL y mysql_server_IP por la dirección IP real (o el nombre del servidor). Al mirar el parámetro -p, obtendrá una pista para iniciar sesión en su cuenta de usuario de MySQL con la ayuda de la contraseña.
Este es el resultado que obtendrá:
Conexión a <em>mysql_server_ip</em> 3306 puerto [tcp/mysql] correcta.
Permitir conexiones remotas al servidor de bases de datos MySQL en hPanel
La herramienta puede establecer una conexión remota con el servidor MySQL. Para ello, debe permitir la IP de su cuenta.
En primer lugar, inicie sesión en su hPanel y vaya directamente a Bases de datos - MySQL remoto.
La página MySQL remoto le permitirá introducir la dirección IP del servidor remoto en el campo IP o en el cuadro AnyHost. Esto le permitirá conectarse desde cualquier dirección IP.
A continuación, elija la base de datos de destino para el acceso remoto y seleccione «Crear».
Pero eso no es todo. Las conexiones remotas como esta necesitan un nombre de host del servidor MySQL de un usuario MySQL. Si tiene curiosidad por saber cómo obtenerlo, desplácese hasta la parte superior de esta página.
Conclusión
Esta breve guía ha mostrado cómo conectarse al servidor MySQL mediante el acceso remoto al host y crear un acceso desde una dirección IP deseada para un usuario MySQL remoto.
En resumen, estos son los pasos para aceptar la conexión remota desde hosts en un servidor CentOS o RHEL:
1. Cambiar el archivo de configuración de MySQL. Esto se hace utilizando la línea de comandos para añadir otra opción y una nueva dirección IP de usuario remoto al archivo de configuración de MySQL.
2. Abrir el puerto MySQL necesario. Esto se consigue añadiendo una entrada a las reglas de tu firewall, específicamente para el puerto 3306.
¡Mucha suerte! Deja tus comentarios debajo de esta guía si aún tienes preguntas o «puntos negros» a la hora de establecer conexiones MySQL remotas.
Blog