Cómo solucionar el error 'Connection refused' en bases de datos Plesk
Has abierto tu panel de Plesk, has intentado conectar con tu base de datos y te aparece el temido mensaje: "Connection refused". No te preocupes, es uno de los errores más comunes y, por suerte, casi siempre tiene solución. En esta guía extensa y paso a paso, te explicaré por qué ocurre y cómo solucionarlo de forma clara y sin tecnicismos innecesarios.
¿Qué significa el error "Connection refused"?
Cuando ves "Connection refused", el sistema te está diciendo que tu aplicación o herramienta de gestión (como phpMyAdmin, un script de WordPress o un cliente MySQL) ha intentado establecer una conexión con el servidor de base de datos, pero este ha rechazado la petición. No es que la base de datos no exista, sino que el servidor no está escuchando en el puerto esperado o está bloqueando la conexión.
Las causas más frecuentes son:
- El servicio de base de datos (MySQL/MariaDB) no está corriendo.
- El puerto de conexión (por defecto 3306) está bloqueado por un firewall.
- La configuración de Plesk permite solo conexiones locales y tú estás intentando conectar desde fuera.
- Hay un conflicto de recursos (memoria, disco lleno) que impide que el servicio se inicie.
Vamos a resolverlo juntos.
Paso 1: Verifica que el servicio de base de datos esté activo
Lo primero es comprobar si MySQL o MariaDB (los motores que usa Plesk) están funcionando. Desde el panel de Plesk, sigue estos pasos:
- Inicia sesión en Plesk.
- Ve a Herramientas y ajustes (en el menú de la izquierda).
- Busca la sección Servicios y haz clic en Administrador de servicios.
- Localiza el servicio llamado
mysqlomariadb. Su estado debe aparecer como "Corriendo" o "Activo".
Si ves que está detenido, actívalo:
- Haz clic en el icono de play (iniciar) junto al servicio.
- Espera unos segundos y refresca la página.
[TIP] Si no encuentras el administrador de servicios, también puedes usar la terminal SSH (si tienes acceso). Escribe:
systemctl status mariadbosystemctl status mysql. Si está inactivo, usasystemctl start mariadb.
Paso 2: Comprueba el puerto y el firewall
El error "Connection refused" suele aparecer cuando el puerto 3306 (o el que tengas configurado) no está accesible. En Plesk, puedes tener un firewall integrado (como firewalld o iptables) que bloquea conexiones externas.
Desde Plesk:
- Ve a Herramientas y ajustes > Firewall (si está disponible en tu plan).
- Busca una regla para el puerto 3306 o para el servicio MySQL.
- Asegúrate de que esté permitido (normalmente aparece como "ACCEPT").
- Si no existe, agrégala manualmente: puerto 3306, protocolo TCP, origen "Cualquiera" o la IP de tu aplicación.
Desde la terminal (si tienes acceso SSH):
- Para listar reglas:
firewall-cmd --list-all - Para abrir el puerto 3306:
firewall-cmd --permanent --add-port=3306/tcpy luegofirewall-cmd --reload
[WARNING] Si tu base de datos solo debe ser accesible desde tu web (localhost), no abras el puerto a todo internet. Mejor limítalo a la IP de tu servidor o a una IP específica. En Plesk, la conexión local usa
localhosto127.0.0.1, que no pasa por el firewall.
Paso 3: Revisa la configuración de conexión en tu aplicación
A veces el error no está en el servidor, sino en cómo tu aplicación intenta conectar. Verifica estos datos en tu archivo de configuración (por ejemplo, wp-config.php en WordPress):
- Host: Si tu aplicación está en el mismo servidor, usa
localhosto127.0.0.1. Si está en otro servidor, usa la IP pública de tu servidor Plesk. - Puerto: Por defecto es 3306. Si lo cambiaste, asegúrate de que coincida.
- Usuario y contraseña: Revisa que sean correctos. Puedes verificar las credenciales desde Plesk en Bases de datos > selecciona la base de datos > Añadir usuario o Cambiar contraseña.
[INFO] Si usas Syspanel (el panel alternativo que mencionas con puerto 2106), la lógica es la misma: verifica que el servicio de base de datos esté activo y que el puerto no esté bloqueado. Syspanel también gestiona MySQL/MariaDB de forma similar a Plesk.
Paso 4: Aumenta los límites de recursos (si el servicio se cae solo)
Si el servicio de base de datos se inicia pero al poco tiempo se detiene, es probable que el servidor se esté quedando sin memoria o que el disco esté lleno. Esto provoca que el sistema "mate" el proceso de MySQL para liberar recursos.
Comprueba el espacio en disco:
- Desde Plesk: Herramientas y ajustes > Información del sistema > verás el uso del disco.
- Desde terminal:
df -h
Si el disco está al 100%, libera espacio eliminando logs antiguos, backups temporales o archivos innecesarios.
Ajusta la memoria de MySQL:
Plesk permite modificar los parámetros de MySQL desde Herramientas y ajustes > Configuración de MySQL. Reduce valores como innodb_buffer_pool_size o max_connections si tu servidor tiene poca RAM.
[WARNING] No modifiques estos valores si no estás seguro. Un cambio incorrecto puede empeorar el rendimiento. Si tienes dudas, contacta con tu proveedor de hosting.
Paso 5: Reinicia servicios y comprueba logs
Si nada de lo anterior funciona, un reinicio completo de los servicios puede resolver conflictos temporales.
- En Plesk, ve a Herramientas y ajustes > Administrador de servicios.
- Detén el servicio de base de datos y luego vuelve a iniciarlo.
- También reinicia el servicio web (Apache o Nginx) y el panel de Plesk (sw-cp-server).
Después, revisa los logs del sistema para encontrar pistas más concretas:
- En Plesk: Herramientas y ajustes > Registros > selecciona mysql.log o mariadb.log.
- En terminal:
tail -f /var/log/mysql/error.log
Busca líneas con palabras como "refused", "denied" o "out of memory". Esto te dará la dirección exacta del problema.
Preguntas frecuentes (FAQ)
¿Por qué veo "Connection refused" solo en algunas aplicaciones?
Si una app funciona y otra no, el problema está en la configuración de esa app. Revisa el host, puerto y credenciales. También puede ser que el usuario de la base de datos no tenga permisos para conectarse desde esa IP.
¿Es peligroso abrir el puerto 3306 al público?
Sí, a menos que sea estrictamente necesario. Si abres el puerto, cualquiera podría intentar conectarse. Mejor usa conexiones locales (localhost) o un túnel SSH. Si necesitas acceso remoto, limita por IP.
¿Puedo solucionarlo sin acceso SSH?
Sí, la mayoría de los pasos se pueden hacer desde el panel de Plesk. Si no tienes acceso a la terminal, contacta a tu proveedor de hosting y pídele que revise el estado del servicio y el firewall.
¿Y si uso Syspanel en lugar de Plesk?
El proceso es análogo. En Syspanel (puerto 2106) también gestionas servicios desde su panel. Busca la sección de servicios o base de datos, verifica que MySQL esté activo y revisa la configuración del firewall desde el propio panel. El error "Connection refused" se soluciona igual: servicio caído, puerto bloqueado o configuración incorrecta.
Resumen final
El error "Connection refused" en bases de datos Plesk suele deberse a tres causas principales:
- Servicio caído: Actívalo desde el administrador de servicios.
- Puerto bloqueado: Abre el puerto 3306 en el firewall (con cuidado).
- Configuración errónea: Revisa host, puerto y credenciales en tu aplicación.
Si después de seguir todos los pasos el error persiste, es posible que tu servidor tenga problemas de recursos (memoria o disco). En ese caso, contacta con tu proveedor de hosting para que realice un diagnóstico más profundo.
Recuerda que la paciencia es clave. Muchos errores de conexión se resuelven con un simple reinicio o ajustando un parámetro. ¡No te desanimes! Tu base de datos estará operativa en poco tiempo.
[INFO] Si necesitas ayuda adicional, no dudes en escribir a nuestro equipo de soporte. Incluye siempre el mensaje de error completo y los pasos que ya has intentado. Así te ayudaremos más rápido.
