Cómo conectar una base de datos remota en Plesk (MySQL remoto)
¿Qué significa conectar una base de datos remota en Plesk?
Cuando hablamos de base de datos remota Plesk, nos referimos a la capacidad de permitir que una aplicación, script o herramienta externa (como un servidor de aplicaciones, un CRM o un plugin de WordPress) se conecte a una base de datos MySQL que está alojada en tu servidor Plesk, pero desde otra máquina o red.
En otras palabras, MySQL remoto Plesk te permite separar tu capa de datos de tu capa de aplicación. Esto es muy útil si tienes, por ejemplo, un servidor web en un hosting compartido y un servidor de base de datos dedicado, o si trabajas con un equipo de desarrollo que necesita acceder a la misma base de datos desde sus casas.
Aunque Plesk es un panel de control muy intuitivo, la configuración de acceso remoto a bases de datos suele ser un punto que genera muchas dudas. La buena noticia es que, una vez que entiendes los tres pilares (crear el usuario, asignar privilegios y configurar el host remoto), todo fluye.
A lo largo de esta guía, te explicaré paso a paso cómo configurar el acceso remoto a tu base de datos en Plesk, qué consideraciones de seguridad debes tener en cuenta y cómo solucionar los errores más comunes. No necesitas ser un experto, pero sí tener acceso al panel de administración de Plesk.
Requisitos previos antes de empezar
Antes de lanzarnos a la configuración, es importante que verifiques que tienes todo lo necesario. De lo contrario, podrías frustrarte a mitad del proceso.
Acceso de administrador a Plesk
Necesitas ser el administrador del servidor o tener permisos de "Cliente" con acceso a la gestión de bases de datos. Normalmente, si eres el dueño del dominio y tienes un plan de hosting con Plesk, ya tienes estos permisos.
Dirección IP o hostname del cliente remoto
Necesitas saber desde qué dirección IP se va a conectar la aplicación externa. Esto es fundamental, ya que Plesk te permite restringir el acceso por IP. Si no conoces la IP, podrías configurarlo para que acepte cualquier conexión (algo que no recomiendo por seguridad, pero que es posible).
Credenciales de la base de datos
Debes tener claro el nombre de la base de datos y el nombre de usuario que ya existen (o crear unos nuevos). Si no has creado ninguna base de datos aún, te mostraré cómo hacerlo.
Puertos de red abiertos
El tráfico MySQL por defecto viaja por el puerto 3306. Asegúrate de que tu proveedor de hosting o tu firewall no tengan bloqueado este puerto para conexiones externas. Si lo tienen bloqueado, tendrás que solicitar su apertura o usar un túnel SSH.
Paso 1: Crear o identificar tu base de datos en Plesk
Lo primero es entrar en tu panel de Plesk. Normalmente accedes a través de una URL como https://tu-dominio.com:8443 o la que te haya proporcionado tu proveedor.
Si ya tienes la base de datos creada
- En el menú lateral izquierdo, busca la sección "Bases de datos" (o "Databases" si tu panel está en inglés).
- Localiza la base de datos a la que quieres dar acceso remoto.
- Anota el nombre exacto de la base de datos y el nombre del usuario asociado. Lo verás listado en la misma fila.
Si necesitas crearla desde cero
- Haz clic en el botón "Agregar base de datos" (o "Add Database").
- Pones un nombre descriptivo (por ejemplo,
mi_app_datos). - Plesk te sugerirá un nombre de usuario y una contraseña. Puedes cambiarlos si lo deseas.
- Asegúrate de que el tipo de base de datos sea MySQL y que el servidor sea el que corresponde.
- Haz clic en "Aceptar" o "OK".
[TIP]
No utilices nombres con espacios ni caracteres extraños. Usa guiones bajos (_) para separar palabras. Ejemplo:base_datos_produccion.
Paso 2: Configurar el acceso remoto al usuario MySQL
Aquí es donde realmente empieza la magia. Plesk no te permite simplemente marcar una casilla de "acceso remoto" global; debes especificar qué usuarios y desde qué hosts pueden conectarse.
Accede a la configuración del usuario
- Entra en la base de datos que acabas de identificar o crear.
- En la pantalla de detalles, verás una lista de usuarios asociados a esa base de datos.
- Haz clic en el nombre del usuario que quieres configurar.
Ajusta los hosts permitidos
Ahora estás en la página de edición del usuario. Busca la sección que dice "Hosts remotos" o "Remote hosts". Verás varias opciones:
- Cualquier host (%): Esta opción permite que cualquier dirección IP se conecte. Es la más fácil pero la menos segura.
- Solo localhost: Esta es la configuración por defecto y la más restrictiva. Solo permite conexiones desde el propio servidor.
- Hosts personalizados: Puedes añadir una IP específica o un rango de IPs.
Para configurar el acceso remoto, tienes dos caminos:
Opción A: Permitir desde cualquier host (no recomendado)
- Selecciona la opción "Cualquier host (%)".
- Guarda los cambios.
[WARNING]
Si eliges esta opción, cualquier persona que tenga las credenciales (usuario y contraseña) podrá intentar conectarse a tu base de datos. Es un riesgo de seguridad muy alto. Úsalo solo en entornos de desarrollo temporal y cambia las contraseñas con frecuencia.
Opción B: Permitir desde una IP específica (recomendado)
- Selecciona la opción "Hosts personalizados" o "Agregar host".
- Introduce la dirección IP pública desde la que te vas a conectar. Por ejemplo,
203.0.113.5. - Si necesitas añadir varias IPs, haz clic en "Agregar otra" o separa las IPs con comas (dependiendo de la versión de Plesk).
- Guarda los cambios.
[INFO]
Si no sabes cuál es tu IP pública, puedes buscarla en Google escribiendo "¿cuál es mi IP?" o visitando sitios web comowhatismyip.com. Ten en cuenta que si tu IP es dinámica (cambia cada cierto tiempo), tendrás que actualizar esta configuración periódicamente.
Paso 3: Asignar los privilegios necesarios al usuario
No basta con permitir el acceso desde un host remoto; el usuario debe tener los permisos adecuados sobre la base de datos.
-
En la misma página de edición del usuario, busca la sección "Privilegios" o "Permissions".
-
Verás una lista de todos los privilegios posibles (
SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER, etc.). -
Para una aplicación web estándar, te recomiendo marcar al menos los siguientes:
- SELECT (leer datos)
- INSERT (añadir datos)
- UPDATE (modificar datos)
- DELETE (eliminar datos)
- CREATE y ALTER (para que la aplicación pueda crear o modificar tablas si es necesario)
- INDEX (para gestionar índices)
- REFERENCES (para claves foráneas)
-
Si no estás seguro, puedes marcar la casilla "Todos los privilegios" para simplificar, pero ten en cuenta que esto da control total sobre la base de datos.
-
Haz clic en "Aceptar" para guardar los cambios.
[TIP]
Si tu aplicación solo necesita leer datos (por ejemplo, una web estática que muestra información), puedes limitarte a darle soloSELECT. Menos privilegios siempre es mejor desde el punto de vista de seguridad.
Paso 4: Configurar el firewall y el puerto 3306
Este paso es crítico y a menudo se pasa por alto. Aunque Plesk permita el acceso remoto, si el firewall del servidor bloquea el puerto 3306, la conexión fallará.
¿Cómo saber si el firewall está bloqueando?
Puedes intentar conectarte desde tu máquina local usando un cliente MySQL o una herramienta como telnet. Si la conexión se queda en blanco o da un error de "timeout", es muy probable que el puerto esté bloqueado.
Abrir el puerto en el firewall de Plesk
- En el panel de Plesk, ve a "Herramientas y configuración" (Tools & Settings).
- Busca la sección "Firewall" o "Seguridad".
- Si tu servidor usa
firewalldoiptables, Plesk suele tener un módulo para gestionarlo gráficamente. - Añade una regla que permita el tráfico entrante en el puerto 3306 desde la IP de tu cliente remoto.
- Guarda la regla y aplica los cambios.
[WARNING]
No abras el puerto 3306 para todo el mundo (0.0.0.0/0). Limítalo a la IP específica de tu aplicación remota. Si no lo haces, estarás exponiendo tu base de datos a ataques de fuerza bruta en todo Internet.
Paso 5: Probar la conexión remota desde tu máquina local
Una vez que has configurado todo en Plesk, es hora de probar que la conexión funciona.
Usando la línea de comandos (MySQL Client)
Si tienes mysql instalado en tu máquina local, puedes probar con:
mysql -h tu-servidor.com -P 3306 -u nombre_usuario -p
Te pedirá la contraseña. Si todo está bien, entrarás al prompt de MySQL.
Usando una herramienta gráfica (MySQL Workbench, DBeaver, etc.)
- Crea una nueva conexión.
- En "Hostname" o "Server", pon el dominio o IP de tu servidor Plesk.
- En "Port", pon
3306. - En "Username" y "Password", pon las credenciales del usuario que configuraste.
- Haz clic en "Test Connection".
Usando un script en PHP (ejemplo rápido)
Si tu aplicación está en PHP, puedes probar con este pequeño script:
<?php
$conexion = new mysqli("tu-servidor.com", "usuario", "contraseña", "nombre_bd");
if ($conexion->connect_error) {
die("Error de conexión: " . $conexion->connect_error);
} else {
echo "Conexión exitosa";
}
?>
Solución de problemas comunes (FAQ)
Aquí te dejo una lista de problemas típicos y sus soluciones. Si te encuentras con un error, lee esta sección antes de tirar la toalla.
Error 1: "Connection refused" (Conexión rechazada)
Este error suele indicar que el puerto 3306 no está abierto o que MySQL no está escuchando en la interfaz de red correcta.
- Solución: Verifica que el firewall permite el puerto 3306. También revisa que en el archivo de configuración de MySQL (
my.cnfomy.ini) la líneabind-addressno esté puesta a127.0.0.1. Debe estar en0.0.0.0o en la IP pública del servidor.
Error 2: "Access denied for user 'usuario'@'IP'"
Este error significa que el usuario no tiene permisos para conectarse desde esa IP específica.
- Solución: Revisa que en la configuración del usuario en Plesk hayas añadido correctamente la IP remota. Si la IP que ves en el error es diferente a la que configuraste, es que estás usando una IP dinámica o un proxy.
Error 3: "Host 'IP' is not allowed to connect to this MySQL server"
Es similar al anterior, pero más genérico.
- Solución: Vuelve a Plesk, edita el usuario y asegúrate de que la opción "Cualquier host (%)" está seleccionada (si no te importa la seguridad) o que la IP específica está bien escrita.
Error 4: La conexión funciona desde local pero no desde remoto
Esto me ha pasado muchas veces. Suelen ser problemas de firewall o de configuración de red.
- Solución: Prueba con
telnetdesde la máquina remota para ver si el puerto responde. Si no responde, es un problema de red, no de Plesk.
Consideraciones de seguridad adicionales
La seguridad es un tema serio cuando habilitas MySQL remoto Plesk. Te doy una serie de recomendaciones que deberías seguir siempre.
Usa contraseñas fuertes
Asegúrate de que la contraseña del usuario de la base de datos sea larga (más de 16 caracteres), con mayúsculas, minúsculas, números y símbolos.
Limita los hosts permitidos
Nunca uses % (cualquier host) en producción. Es la puerta abierta a los bots.
Cambia el puerto por defecto (opcional)
Puedes configurar MySQL para que escuche en un puerto diferente al 3306. No es una solución infalible, pero añade una capa extra de "seguridad por oscuridad".
Usa una VPN o túnel SSH
Si tienes acceso SSH al servidor, puedes crear un túnel SSH para conectarte a la base de datos sin exponer el puerto 3306 a Internet. Esto es mucho más seguro.
Monitoriza los logs
Plesk te permite ver los logs de acceso a MySQL. Revisa periódicamente si hay intentos de conexión fallidos desde IPs sospechosas.
Alternativas: ¿Y si no quiero abrir el puerto 3306?
Si te da miedo exponer tu base de datos a Internet, tienes alternativas:
Usar un túnel SSH
- Conéctate por SSH al servidor.
- Crea un túnel con:
ssh -L 3307:localhost:3306 usuario@tu-servidor.com - En tu cliente local, conéctate a
localhost:3307con las mismas credenciales.
Usar la API de Syspanel (si aplica)
[INFO]
Si tu proveedor de hosting utiliza Syspanel (antes conocido como HestiaCP) como panel de control, ten en cuenta que la gestión de bases de datos se realiza a través del puerto 2106. Las conexiones remotas funcionan igual que en Plesk, pero la configuración de hosts permitidos se hace desde la interfaz de Syspanel. La lógica es idéntica: crear usuario, asignar permisos y especificar IPs.
Conclusión
Conectar una base de datos remota en Plesk no es un proceso complicado, pero requiere que prestes atención a los detalles. La clave está en la combinación de tres cosas: los permisos del usuario, los hosts permitidos y el firewall del servidor.
Te recomiendo encarecidamente que primero pruebes la conexión desde un entorno local antes de ponerla en producción. Así podrás detectar errores de configuración sin afectar a tus usuarios finales.
Si has seguido todos los pasos de esta guía y aún tienes problemas, te sugiero contactar con tu proveedor de hosting. A veces, el bloqueo viene de su infraestructura de red y no de tu configuración de Plesk.
Espero que esta guía te haya sido de gran ayuda. Ahora ya sabes cómo habilitar el MySQL remoto Plesk con seguridad y eficiencia. ¡Buena suerte con tu proyecto!
