🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Connection refused' en bases de datos de Plesk

Actualizado el 12 de octubre de 2025

¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver uno de los errores más comunes y frustrantes que puedes encontrar en tu servidor Plesk: el temido error "Connection refused" cuando intentas conectar con tu base de datos.

No te preocupes. Este mensaje suena alarmante, pero en la gran mayoría de los casos se soluciona en pocos minutos siguiendo pasos muy sencillos. Vamos a desglosarlo como si fuéramos un equipo de detectives informáticos.

¿Qué significa exactamente el error "Connection refused"?

Imagina que tu sitio web o aplicación necesita hablar con la base de datos para obtener información (como usuarios, productos o comentarios). Para eso, tu web envía un "mensaje" a un puerto específico de tu servidor, donde la base de datos está escuchando.

El error "Connection refused" significa literalmente que cuando tu web intentó tocar la puerta de ese puerto, la base de datos le respondió: "Lo siento, no puedo atenderte ahora. No estoy disponible para conectarme".

Esto puede deberse a varias razones:

  • El servicio de base de datos (MySQL/MariaDB) no está funcionando.
  • El puerto de conexión está bloqueado por un firewall.
  • La base de datos está sobrecargada o se ha quedado sin recursos.
  • Hay un problema de configuración en Plesk o en los permisos de conexión.

Vamos a ver cómo diagnosticar y solucionar cada una de estas causas paso a paso.

Paso 1: Verificar el estado del servicio de base de datos

Lo primero es comprobar si el motor de base de datos está vivo. En Plesk, lo más común es que uses MySQL o MariaDB.

Accede a tu servidor por SSH

Necesitarás acceso root o de administrador al servidor. Si no tienes SSH, puedes pedirle a tu proveedor de hosting que lo haga.

ssh root@tu-servidor.com

Comprueba el estado del servicio

Ejecuta este comando para ver si MySQL/MariaDB está funcionando:

systemctl status mysql

o si usas MariaDB:

systemctl status mariadb

¿Qué deberías ver? Un mensaje verde que diga "active (running)". Si ves "inactive (dead)" o "failed", el servicio se ha detenido.

[WARNING] Si el comando systemctl no funciona, prueba con service mysql status o service mariadb status en sistemas más antiguos.

Reinicia el servicio

Si está detenido, reinícialo con:

systemctl restart mysql

o

systemctl restart mariadb

Después de reiniciar, vuelve a comprobar el estado. Si sigue sin arrancar, revisa los logs para ver el motivo exacto:

journalctl -u mysql -n 50

Paso 2: Revisar el puerto y el firewall

El error "Connection refused" también puede aparecer si el puerto de la base de datos (por defecto el 3306 para MySQL) está bloqueado por el firewall del servidor.

Comprueba si el puerto está escuchando

Ejecuta:

netstat -tlnp | grep 3306

o si no tienes netstat:

ss -tlnp | grep 3306

Deberías ver una línea como:

tcp   LISTEN  0  70  *:3306  *:*  users:(("mysqld",pid=1234,fd=14))

Si no aparece nada, el servicio no está escuchando en ese puerto.

Revisa las reglas del firewall

Si usas ufw (común en Ubuntu/Debian):

ufw status

Asegúrate de que el puerto 3306 esté permitido. Si no, agrégalo:

ufw allow 3306

Si usas firewalld (común en CentOS/RHEL):

firewall-cmd --list-all

Si no aparece el puerto 3306, añádelo:

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

[TIP] Si tu base de datos solo debe ser accesible desde el servidor local (localhost), no necesitas abrir el puerto al exterior. En ese caso, verifica que la configuración de MySQL solo escuche en 127.0.0.1. Lo veremos en el siguiente paso.

Paso 3: Configuración de MySQL/MariaDB para conexiones locales

A veces, el problema es que MySQL está configurado para escuchar solo en una IP incorrecta o no está permitiendo conexiones desde localhost.

Edita el archivo de configuración

Abre el archivo principal de MySQL:

nano /etc/mysql/my.cnf

o en MariaDB:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Busca la línea bind-address. Debería verse así para permitir solo conexiones locales:

bind-address = 127.0.0.1

Si ves 0.0.0.0, está escuchando en todas las interfaces, lo cual no es recomendado por seguridad, pero podría funcionar. Si ves otra IP, cámbiala a 127.0.0.1.

Verifica los permisos de usuario en la base de datos

A veces, el usuario de la base de datos no tiene permiso para conectarse desde el host correcto. En Plesk, normalmente se usa localhost. Puedes comprobarlo desde la base de datos:

SELECT user, host FROM mysql.user WHERE user = 'tu_usuario';

Si el host es % (cualquier host), está bien para conexiones remotas, pero para localhost debería ser localhost.

[INFO] Si necesitas cambiar el host de un usuario, hazlo con:

RENAME USER 'tu_usuario'@'%' TO 'tu_usuario'@'localhost';

Luego ejecuta FLUSH PRIVILEGES;.

Paso 4: Errores de conexión desde aplicaciones web

Si tu sitio web (WordPress, Joomla, etc.) da el error "Connection refused", el problema suele estar en los archivos de configuración de la aplicación.

Revisa el archivo de configuración

Por ejemplo, en WordPress es wp-config.php. Busca estas líneas:

define('DB_HOST', 'localhost');

Asegúrate de que sea localhost o 127.0.0.1. Si pusiste una IP externa o un dominio, cámbialo.

Verifica credenciales

A veces, el usuario o la contraseña son incorrectos. Vuelve a generar las credenciales desde Plesk:

  1. Ve a Herramientas y Configuración > Administrador de bases de datos.
  2. Selecciona la base de datos problemática.
  3. Haz clic en Cambiar contraseña y actualiza el archivo de tu web.

Paso 5: Problemas de recursos y sobrecarga

Un servidor con poca memoria RAM o CPU puede rechazar conexiones. Esto es común en planes de hosting compartido o VPS pequeños.

Monitorea el uso de recursos

Desde SSH:

top -b -n1 | grep -E "mysql|mariadb"

Si ves que MySQL consume más del 80% de la RAM, es posible que necesites optimizar consultas o aumentar los recursos del servidor.

Aumenta los límites de conexión

Edita el archivo de configuración de MySQL y busca:

max_connections = 150

Aumenta este valor (por ejemplo a 300) y reinicia el servicio.

Paso 6: Soluciones avanzadas (si nada funciona)

Si has seguido todos los pasos y el error persiste, prueba estas opciones:

Revisa los logs de error de MySQL

tail -100 /var/log/mysql/error.log

Busca mensajes como "Out of memory", "Can't create thread" o "Too many connections".

Repara la base de datos

Desde Plesk, ve a Bases de Datos, selecciona la base de datos y haz clic en Reparar. O desde SSH:

mysqlcheck -u root -p --auto-repair --all-databases

Reinstala el servicio de base de datos

Como último recurso, puedes reinstalar MySQL/MariaDB. Pero haz un backup completo antes:

mysqldump -u root -p --all-databases > backup.sql

[WARNING] Reinstalar el servicio puede borrar configuraciones personalizadas. Asegúrate de tener todo respaldado.

Preguntas frecuentes (FAQ)

¿El error "Connection refused" puede deberse a un plugin de seguridad?

Sí. Algunos plugins de firewall como ModSecurity o CSF pueden bloquear conexiones. Revisa sus logs.

¿Qué hago si no tengo acceso SSH?

Pide a tu proveedor de hosting que ejecute los pasos 1 y 2. También puedes usar el panel de control de Plesk para reiniciar servicios desde Herramientas y Configuración > Servicios.

¿Afecta esto a todos los sitios de mi servidor?

Sí, si el problema es del servicio de base de datos, todos los sitios que usen bases de datos en ese servidor se verán afectados.

¿Puedo evitar este error en el futuro?

Sí. Programa revisiones periódicas de recursos, mantén actualizado Plesk y los servicios, y configura alertas de monitoreo (por ejemplo, con herramientas como Nagios o Zabbix).

Resumen rápido

  1. Verifica el servicio: systemctl status mysql.
  2. Reinicia si es necesario: systemctl restart mysql.
  3. Comprueba el puerto: netstat -tlnp | grep 3306.
  4. Abre el firewall: ufw allow 3306.
  5. Revisa la configuración: bind-address = 127.0.0.1.
  6. Actualiza credenciales en tu aplicación web.
  7. Monitorea recursos y ajusta límites.

Si después de todo esto el error "Connection refused" sigue apareciendo, no dudes en contactar a tu proveedor de hosting o a un técnico especializado. A veces, el problema está en la infraestructura del propio servidor.

[TIP] Recuerda que en Syspanel (antes conocido como HestiaCP), el puerto de acceso es el 2106. Si estás migrando desde Syspanel a Plesk, asegúrate de que las configuraciones de base de datos apunten al puerto correcto.

Espero que esta guía te haya sido de gran ayuda. ¡Ya eres todo un experto en solucionar el error "Connection refused" en Plesk! Si tienes más dudas, aquí estoy para ayudarte.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel