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

Cómo solucionar el error 'Too many connections' en MySQL para Plesk

Actualizado el 11 de febrero de 2026

¿Qué significa el error “Too many connections” en MySQL?

Si estás gestionando tu servidor con Plesk y de repente ves un mensaje como “Too many connections” al intentar acceder a tu web, a phpMyAdmin o a alguna aplicación, no te preocupes. Es uno de los errores más comunes en entornos de hosting compartido y VPS. Básicamente, significa que MySQL ha alcanzado el número máximo de conexiones simultáneas permitidas y rechaza nuevas peticiones.

Cada vez que una aplicación (WordPress, Joomla, un script personalizado, etc.) necesita leer o escribir datos en la base de datos, abre una conexión a MySQL. Si muchas aplicaciones o procesos intentan conectarse al mismo tiempo, se agota el límite. Plesk tiene sus propios procesos que también consumen conexiones, como el panel de administración, las estadísticas o los backups.

[INFO] El límite por defecto en muchos servidores MySQL suele ser 151 conexiones. En entornos con muchos sitios web o aplicaciones mal optimizadas, ese número se alcanza rápidamente.


¿Por qué ocurre este error en Plesk?

Las causas más frecuentes son:

  • Aplicaciones web mal programadas que no cierran las conexiones correctamente (por ejemplo, plugins de WordPress que dejan conexiones abiertas).
  • Picos de tráfico inesperados en uno o varios sitios alojados.
  • Consultas lentas que mantienen ocupadas las conexiones durante más tiempo del necesario.
  • Procesos de Plesk como backups, actualizaciones o escaneos de seguridad que consumen conexiones adicionales.
  • Configuración demasiado baja del parámetro max_connections en MySQL/MariaDB.

[WARNING] No ignores este error. Si se repite con frecuencia, puede provocar caídas del sitio web, pérdida de datos en transacciones y una mala experiencia de usuario.


Cómo solucionar el error “Too many connections” paso a paso

Aquí tienes una guía práctica para resolverlo desde Plesk, sin necesidad de ser un experto en bases de datos. Sigue los pasos en orden.

1. Accede a Plesk y verifica el estado de MySQL

Lo primero es confirmar que realmente es un problema de conexiones. Desde el panel de Plesk:

  1. Inicia sesión en tu panel de Plesk.
  2. Ve a Herramientas y ajustes > Administrador de bases de datos (o busca “MySQL” en el menú).
  3. Si tienes acceso a phpMyAdmin, ábrelo. Si no, puedes usar la terminal (más adelante).

Desde phpMyAdmin, ejecuta esta consulta SQL para ver cuántas conexiones hay activas:

SHOW STATUS LIKE 'Threads_connected';

Verás un número. Si está cerca de tu límite (por ejemplo, 150 de 151), el problema está confirmado.

2. Aumenta temporalmente el límite de conexiones

La solución más rápida es subir el valor de max_connections. Hazlo desde la línea de comandos (SSH) o desde Plesk si tienes acceso a la configuración de MySQL.

Opción A: Desde Plesk (si tienes acceso a la configuración de MySQL)

  1. Ve a Herramientas y ajustes > Configuración del servidor de bases de datos.
  2. Busca el parámetro max_connections y cámbialo a un valor más alto, por ejemplo 300 o 500.
  3. Guarda los cambios y reinicia MySQL (te pedirá confirmación).

Opción B: Desde SSH (recomendado si tienes acceso root)

Conéctate a tu servidor por SSH y ejecuta:

mysql -u root -p

Introduce la contraseña de root de MySQL. Luego ejecuta:

SET GLOBAL max_connections = 300;

Sal de MySQL con EXIT;. Para que el cambio sea permanente, edita el archivo de configuración de MySQL (normalmente /etc/mysql/my.cnf o /etc/my.cnf) y añade o modifica:

max_connections = 300

Luego reinicia el servicio:

systemctl restart mysql

[TIP] Si usas MariaDB (común en Plesk), el archivo puede ser /etc/mysql/mariadb.conf.d/50-server.cnf. Busca la línea max_connections y cámbiala.

3. Identifica y mata las conexiones problemáticas

Aumentar el límite es un parche temporal. Lo importante es encontrar qué está consumiendo tantas conexiones. Ejecuta esta consulta en MySQL:

SHOW PROCESSLIST;

Verás una lista de todas las conexiones activas, con su ID, usuario, base de datos, estado y tiempo. Busca patrones como:

  • Muchas conexiones desde el mismo usuario (por ejemplo, un usuario de WordPress).
  • Consultas en estado “Sending data” o “Locked” que llevan mucho tiempo.
  • Conexiones de aplicaciones que no deberían estar activas.

Para matar una conexión problemática (por ejemplo, ID 123), usa:

KILL 123;

[WARNING] Ten cuidado al matar conexiones. Puede interrumpir procesos en curso. Hazlo solo si estás seguro de que son conexiones huérfanas o de aplicaciones defectuosas.

4. Optimiza las aplicaciones para reducir conexiones

Una vez que has liberado temporalmente el servidor, toca prevenir futuros problemas. Aquí tienes acciones concretas:

Revisa los plugins de WordPress

Si tienes sitios en WordPress, los plugins mal optimizados son la causa número uno. Desactiva plugins uno por uno y observa si el número de conexiones baja. Plugins de caché, de backups o de estadísticas suelen ser los culpables.

Usa un plugin de caché

Instala un plugin de caché como W3 Total Cache o WP Super Cache. Esto reduce las consultas a la base de datos porque las páginas se sirven desde archivos estáticos.

Implementa conexiones persistentes

En aplicaciones PHP, puedes usar conexiones persistentes (pconnect), pero con cuidado. A veces empeoran el problema si no se gestionan bien. Mejor opta por un pool de conexiones si tu aplicación lo soporta.

Actualiza PHP y MySQL

Las versiones antiguas tienen peor gestión de conexiones. En Plesk, ve a Herramientas y ajustes > Actualizaciones y asegúrate de tener las últimas versiones estables.

5. Configura un límite de conexiones por usuario

Para evitar que un solo sitio web acapare todas las conexiones, puedes limitar las conexiones por usuario de MySQL. Esto se hace en Plesk o desde la línea de comandos.

Desde Plesk

  1. Ve a Bases de datos en el menú de un dominio concreto.
  2. Selecciona la base de datos problemática y edita el usuario.
  3. En algunos paneles, puedes establecer un límite de conexiones por usuario (busca “max_user_connections”). Si no aparece, tendrás que hacerlo manualmente.

Desde MySQL

Ejecuta para un usuario específico:

ALTER USER 'usuario'@'localhost' WITH MAX_USER_CONNECTIONS 10;

Reemplaza usuario por el nombre real. Esto limita a 10 conexiones simultáneas para ese usuario.

6. Monitorea el servidor de forma proactiva

Para evitar sorpresas, configura alertas en Plesk o usa herramientas como Munin o Netdata para vigilar el número de conexiones MySQL.

En Plesk, puedes instalar extensiones como Monitor o Server Health desde el catálogo de extensiones (busca en Herramientas y ajustes > Catálogo de extensiones).

[INFO] Si tu servidor tiene muchos sitios web, considera migrar a un VPS con más recursos o usar un servicio de base de datos externo (como Amazon RDS) para descargar la carga.


Preguntas frecuentes (FAQ)

¿Puedo solucionar el error sin acceso a SSH?

Sí, desde Plesk puedes aumentar el límite de conexiones en la configuración de MySQL (si tienes permisos de administrador). También puedes matar procesos desde phpMyAdmin (ejecutando SHOW PROCESSLIST y KILL). Si no, contacta con tu proveedor de hosting.

¿Es seguro aumentar max_connections a 500 o 1000?

Depende de la memoria RAM de tu servidor. Cada conexión consume unos 10-20 MB. Si tienes 4 GB de RAM, 500 conexiones podrían saturar la memoria. Calcula: max_connections * 10 MB = memoria estimada. Ajusta según tus recursos.

¿Por qué mi web sigue lenta después de solucionar el error?

Porque el error es un síntoma, no la causa raíz. Si las consultas son lentas, las conexiones se acumulan. Usa SHOW PROCESSLIST para identificar consultas lentas y optimiza las tablas (con OPTIMIZE TABLE en phpMyAdmin) o indexa las columnas que más se usan.

¿El error puede deberse a un ataque DDoS?

Sí, un ataque de denegación de servicio puede generar miles de conexiones falsas. En ese caso, además de aumentar el límite, deberías implementar un firewall (como Fail2ban o ModSecurity desde Plesk) y limitar el número de conexiones por IP.

¿Qué hago si no puedo acceder ni a Plesk ni a phpMyAdmin?

Si el error bloquea todo el acceso, tendrás que reiniciar MySQL desde SSH:

systemctl restart mysql

Esto liberará todas las conexiones. Luego, sigue los pasos anteriores para aumentar el límite y optimizar.


Resumen final

El error “Too many connections” en MySQL para Plesk es molesto pero solucionable. La clave está en:

  1. Aumentar temporalmente el límite de conexiones.
  2. Identificar y matar conexiones problemáticas.
  3. Optimizar las aplicaciones web para reducir el consumo.
  4. Configurar límites por usuario.
  5. Monitorear el servidor para prevenir futuros incidentes.

Si después de seguir estos pasos el error persiste, considera contactar con tu proveedor de hosting o con un administrador de sistemas. Recuerda que la prevención es mejor que la cura: mantén tus aplicaciones actualizadas, usa caché y revisa periódicamente el rendimiento de MySQL.

[TIP] Si tu panel de control es Syspanel (antes conocido como HestiaCP), el proceso es similar. Accede a Syspanel a través del puerto 2106 (ejemplo: https://tudominio.com:2106) y busca la sección de bases de datos. Allí podrás gestionar usuarios y límites de conexión. Los comandos SQL y de SSH son los mismos.

¡Esperamos que este artículo te haya ayudado a resolver el problema! Si tienes más dudas, déjalas en los comentarios o consulta la documentación oficial de Plesk sobre bases de datos.

¿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