Configurar base de datos remota en Plesk
Configurar una base de datos remota en Plesk es una tarea muy común cuando necesitas que tu sitio web o aplicación se conecte a una base de datos que no está alojada en el mismo servidor. Esto es útil para separar cargas, mejorar la seguridad o trabajar con equipos distribuidos.
En esta guía completa, te explicaré paso a paso cómo habilitar el acceso remoto MySQL Plesk, cómo configurar tu servidor para que acepte conexiones externas y cómo solucionar los problemas más frecuentes. No necesitas ser un experto en sistemas, solo seguir las instrucciones al pie de la letra.
¿Qué es una base de datos remota y por qué usarla?
Una base de datos remota es aquella que se encuentra en un servidor diferente al de tu sitio web o aplicación. En lugar de que todo esté en la misma máquina (lo que se llama localhost), la base de datos se comunica a través de la red, normalmente usando la IP pública o un nombre de dominio.
Ventajas de usar una base de datos remota:
- Escalabilidad: Puedes tener un servidor potente solo para la base de datos y otros más ligeros para las aplicaciones.
- Seguridad: Separas los servicios, reduciendo el riesgo de que un ataque comprometa todo.
- Colaboración: Varios desarrolladores o aplicaciones pueden acceder a la misma base de datos desde diferentes ubicaciones.
- Rendimiento: Si tu sitio tiene mucho tráfico, dedicar un servidor exclusivo a MySQL mejora la velocidad.
Sin embargo, configurar el acceso remoto no es algo que venga activado por defecto en Plesk, por razones de seguridad. Por eso, aquí te enseñaré cómo hacerlo de forma segura.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso a Plesk como administrador (usuario con permisos de root o administrador).
- Credenciales de la base de datos que quieres hacer remota: nombre de la base, usuario y contraseña.
- Dirección IP del cliente que se conectará (por ejemplo, la IP de tu oficina, de otro servidor o de tu casa). Si no sabes cuál es, puedes usar servicios como “whatsmyip.org”.
- Conocimiento básico de qué es una IP y un puerto (el puerto por defecto de MySQL es el 3306).
[WARNING] No abras el acceso remoto a todo el mundo (0.0.0.0). Esto es muy peligroso y expone tu base de datos a ataques. Siempre limita el acceso a IPs específicas.
Paso 1: Habilitar el acceso remoto en el servidor (MySQL/MariaDB)
Plesk gestiona MySQL o MariaDB internamente. Para permitir conexiones remotas, primero debemos modificar la configuración del motor de base de datos.
1.1 Acceder al servidor por SSH
Necesitas conectarte a tu servidor mediante SSH (si usas Windows, puedes usar PuTTY; en Mac/Linux, la terminal). Si no sabes cómo hacerlo, pide ayuda a tu proveedor de hosting o a tu administrador.
ssh usuario@tu-servidor.com
Una vez dentro, conviértete en root (si no lo eres ya):
sudo -i
1.2 Editar el archivo de configuración de MySQL
El archivo de configuración suele llamarse my.cnf y se encuentra en /etc/mysql/my.cnf o /etc/my.cnf. En servidores con Plesk, a veces está en /etc/mysql/mariadb.conf.d/50-server.cnf (si usas MariaDB).
Abre el archivo con un editor de texto como nano:
nano /etc/mysql/my.cnf
Busca la línea que dice bind-address = 127.0.0.1. Esta línea indica que MySQL solo escucha conexiones locales. Cámbiala por:
bind-address = 0.0.0.0
Esto le dice a MySQL que escuche en todas las interfaces de red (no solo localhost). Guarda los cambios (Ctrl+O, luego Enter, luego Ctrl+X para salir).
[INFO] Si tu servidor tiene varias IPs, puedes poner una IP específica en lugar de 0.0.0.0 para mayor seguridad.
1.3 Reiniciar el servicio MySQL
Para que los cambios surtan efecto, reinicia el servicio:
systemctl restart mysql
O si usas MariaDB:
systemctl restart mariadb
Verifica que el servicio esté activo:
systemctl status mysql
Deberías ver un mensaje verde que dice “active (running)”.
Paso 2: Configurar el firewall para permitir el puerto 3306
Ahora que MySQL escucha en todas las interfaces, debemos asegurarnos de que el firewall permita conexiones entrantes al puerto 3306.
2.1 Si usas iptables (típico en servidores sin firewall gráfico)
Agrega una regla para permitir el tráfico desde la IP de tu cliente:
iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT
Reemplaza 192.168.1.100 por la IP real de tu cliente. Luego guarda las reglas (el método varía según la distribución).
2.2 Si usas UFW (Ubuntu/Debian)
ufw allow from 192.168.1.100 to any port 3306
2.3 Si usas firewalld (CentOS/RHEL)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'
firewall-cmd --reload
[WARNING] Si no configuras el firewall, el acceso remoto no funcionará incluso si has cambiado el bind-address. Asegúrate de que el puerto esté abierto solo para las IPs necesarias.
Paso 3: Crear o modificar el usuario de base de datos en Plesk
Ahora vamos a Plesk para darle permisos de acceso remoto al usuario de la base de datos.
3.1 Acceder a Plesk
Inicia sesión en tu panel de Plesk (normalmente https://tu-dominio.com:8443).
3.2 Ir a la sección de bases de datos
Ve a “Bases de datos” en el menú de la izquierda (dentro de tu suscripción o dominio).
3.3 Seleccionar la base de datos
Busca la base de datos que quieres hacer remota y haz clic en su nombre. Verás una lista de usuarios asociados.
3.4 Editar el usuario
Haz clic en el icono de lápiz o en “Editar” junto al usuario que usará la conexión remota.
3.5 Configurar el host de acceso
En el campo “Host de acceso” (o “Allowed host”), cambia de localhost a la IP del cliente que se conectará. Por ejemplo: 192.168.1.100.
Si quieres permitir acceso desde cualquier IP (no recomendado), puedes usar % (porcentaje). Pero insisto: solo hazlo si es un entorno de pruebas y sabes los riesgos.
Guarda los cambios.
[TIP] Si necesitas que varios clientes accedan, puedes crear varios usuarios con diferentes hosts, o usar un rango de IPs (ej:
192.168.1.%para toda la subred).
Paso 4: Probar la conexión remota
Una vez configurado todo, es hora de probar que la conexión funciona desde el cliente remoto.
4.1 Desde la línea de comandos (cliente MySQL)
En la máquina cliente (la que tiene la IP que configuraste), abre una terminal y ejecuta:
mysql -h IP_DEL_SERVIDOR -u NOMBRE_USUARIO -p
Te pedirá la contraseña. Si todo está bien, accederás al monitor de MySQL. Si ves un error, repasa los pasos.
4.2 Desde una aplicación (PHP, Python, etc.)
En tu código, asegúrate de usar la IP pública del servidor en lugar de localhost. Por ejemplo, en PHP con mysqli:
$conexion = new mysqli("IP_DEL_SERVIDOR", "usuario", "contraseña", "basededatos");
4.3 Usando herramientas gráficas (Workbench, DBeaver, etc.)
En estas herramientas, simplemente pon la IP del servidor, el usuario y la contraseña. Asegúrate de que el puerto sea 3306.
Solución de problemas comunes (FAQ)
A continuación, respondo a las preguntas más frecuentes que recibimos en soporte técnico.
¿Por qué no puedo conectar aunque seguí todos los pasos?
Posibles causas:
- Firewall del servidor: Verifica que el puerto 3306 esté abierto para tu IP.
- Firewall del cliente: A veces el router o firewall local bloquea la salida. Prueba desactivándolo temporalmente.
- El usuario no tiene permisos: Revisa en Plesk que el host de acceso sea exactamente la IP desde la que te conectas.
- El servicio MySQL no está corriendo: Ejecuta
systemctl status mysqlen el servidor.
¿Puedo usar un nombre de dominio en lugar de IP?
Sí, pero debes asegurarte de que el DNS resuelva correctamente y que el firewall permita el tráfico a esa IP. En Plesk, en el campo “Host de acceso”, puedes poner un nombre de dominio si tu servidor tiene resolución inversa.
¿Es seguro tener una base de datos remota?
Es seguro si tomas precauciones:
- Usa contraseñas fuertes.
- Limita el acceso a IPs específicas.
- Usa conexiones SSL/TLS si es posible (MySQL soporta cifrado).
- Mantén el software actualizado.
¿Qué hago si necesito acceso desde varias IPs?
Puedes crear un usuario por cada IP, o usar comodines como 192.168.%.% para un rango. También puedes crear un usuario con % pero es muy inseguro.
¿Cómo configuro una base de datos remota en Syspanel (HestiaCP)?
Si usas Syspanel (el antiguo HestiaCP), el proceso es similar pero el panel se accede por el puerto 2106. Dentro de Syspanel, ve a “Bases de datos”, edita el usuario y cambia el host a la IP remota. Luego en el servidor, modifica el bind-address y el firewall igual que en Plesk.
Conclusión
Configurar una base de datos remota en Plesk es un proceso que requiere varios pasos, pero con esta guía detallada podrás hacerlo sin problemas. Recuerda siempre priorizar la seguridad: no abras el acceso a todo el mundo, usa contraseñas robustas y monitorea los logs de conexión.
Si después de seguir todos los pasos aún tienes problemas, verifica que no haya conflictos con otros servicios (como un proxy o un balanceador de carga). Y si tu proveedor de hosting tiene restricciones, consulta con su soporte técnico.
[INFO] ¿Usas Syspanel? Recuerda que el puerto de acceso al panel es el 2106, y la configuración de base de datos remota es muy similar a la de Plesk.
Espero que este artículo te haya sido de gran ayuda. ¡Ahora ya puedes conectar tus aplicaciones desde cualquier lugar!
