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

Solucionar error 'Too many connections' en MySQL (Plesk, cPanel)

Actualizado el 20 de diciembre de 2025

¿Te ha aparecido el mensaje de error "Too many connections" en tu base de datos MySQL o MariaDB? No te preocupes, es uno de los avisos más comunes en entornos de hosting compartido, VPS o servidores dedicados, especialmente cuando usas paneles como cPanel o Plesk.

Este error significa que tu servidor de bases de datos ha alcanzado el límite máximo de conexiones simultáneas permitidas. Cuando esto ocurre, las aplicaciones web (como WordPress, Joomla, tiendas online o sistemas propios) dejan de funcionar correctamente y muestran esa molesta pantalla blanca o un mensaje de error.

En este artículo te explicaré de forma clara y paso a paso qué causa el error too many connections MySQL, cómo diagnosticarlo y, lo más importante, cómo solucionarlo en cPanel y Plesk. También veremos cómo prevenirlo en el futuro.

¿Qué significa exactamente "Too many connections"?

MySQL (o MariaDB, su versión mejorada) tiene un límite predefinido de cuántas conexiones puede aceptar al mismo tiempo. Por defecto, este valor suele ser 151 conexiones en muchos servidores, aunque puede variar según la configuración del hosting.

Cuando tu web o aplicación intenta abrir más conexiones de las permitidas, el servidor responde con el error "Too many connections". Esto puede deberse a:

  • Scripts mal optimizados que no cierran las conexiones a la base de datos.
  • Picos de tráfico repentinos (muchos visitantes al mismo tiempo).
  • Conexiones persistentes mal configuradas.
  • Ataques DDoS o bots que sobrecargan el servidor.
  • Plugins o temas defectuosos en WordPress u otros CMS.

[WARNING] Si ignoras este error, tu web puede quedar inaccesible para todos los usuarios hasta que se liberen conexiones o reinicies el servicio.

Diagnóstico: ¿Cómo saber si tienes este error?

Antes de solucionarlo, debemos confirmar que efectivamente es el error too many connections MySQL y no otro problema. Aquí tienes las señales típicas:

Síntomas comunes

  • Pantalla blanca en WordPress con mensaje: "Error establishing a database connection".
  • Mensaje en logs del servidor: SQLSTATE[08004] [1040] Too many connections.
  • Acceso lento o imposible al panel de administración de tu web.
  • Correos de alerta de tu proveedor de hosting informando del límite alcanzado.

Cómo verificar el número actual de conexiones

Si tienes acceso a phpMyAdmin o a la línea de comandos (SSH), puedes ejecutar esta consulta SQL:

SHOW STATUS LIKE 'Threads_connected';

Esto te mostrará cuántas conexiones hay activas en ese momento. Si el número está cerca del límite máximo (por ejemplo, 150 de 151), el error es inminente.

[TIP] También puedes usar SHOW VARIABLES LIKE 'max_connections'; para conocer el límite configurado.

Soluciones paso a paso en cPanel

cPanel es uno de los paneles más populares. Aquí te explico cómo resolver el error too many connections MySQL en este entorno.

1. Aumentar temporalmente el límite de conexiones (si tienes acceso root)

Si eres administrador del servidor o tu hosting te permite modificar la configuración de MySQL, puedes aumentar el valor de max_connections. Esto no es una solución permanente, pero te dará tiempo para investigar la causa.

Pasos:

  1. Accede a WHM (Web Host Manager) o a la terminal SSH como root.
  2. Ejecuta el siguiente comando para cambiar el valor en caliente (sin reiniciar):
    SET GLOBAL max_connections = 500;
    
  3. Para hacerlo permanente, edita el archivo de configuración de MySQL:
    • En cPanel suele estar en /etc/my.cnf o /etc/mysql/my.cnf.
    • Busca la línea max_connections y cámbiala, por ejemplo, a 500.
    • Guarda y reinicia MySQL: systemctl restart mysqld (o service mysql restart).

[WARNING] Aumentar demasiado el límite puede consumir mucha memoria RAM. No lo subas sin control.

2. Identificar y matar conexiones problemáticas

Puedes usar phpMyAdmin o la línea de comandos para ver qué procesos están usando conexiones y matar los que sean sospechosos.

Desde phpMyAdmin:

  1. Ve a la pestaña "Procesos" (o "Processes").
  2. Verás una lista de todas las conexiones activas.
  3. Identifica aquellas que llevan mucho tiempo en estado "Sleep" o que vienen de direcciones IP extrañas.
  4. Selecciona y haz clic en "Kill" para cerrarlas.

Desde SSH:

SHOW FULL PROCESSLIST;

Luego mata un proceso específico con:

KILL [ID_del_proceso];

3. Optimizar consultas y aplicaciones

La causa más común de este error son aplicaciones mal codificadas que no cierran las conexiones. Si usas WordPress, revisa:

  • Plugins de caché: instala uno como W3 Total Cache o WP Super Cache para reducir consultas a la base de datos.
  • Plugins de bases de datos: evita plugins que hagan muchas consultas, como algunos de estadísticas o seguimiento.
  • Tema: algunos temas mal optimizados abren múltiples conexiones. Prueba con un tema básico como Twenty Twenty-Four.

4. Configurar un límite de conexiones por usuario en cPanel

cPanel permite limitar las conexiones por cuenta de hosting. Esto evita que un sitio web acapare todos los recursos.

Pasos:

  1. En WHM, ve a "SQL Services" > "Manage MySQL/MariaDB Profiles".
  2. Crea un perfil con un límite de conexiones (ej. 50) y asígnalo al usuario problemático.

Soluciones paso a paso en Plesk

Plesk es otro panel muy usado, especialmente en servidores Windows y Linux. Aquí tienes cómo solucionar el error too many connections MySQL en Plesk.

1. Aumentar el límite desde Plesk (sin SSH)

Plesk ofrece una interfaz gráfica para modificar parámetros de MySQL.

Pasos:

  1. Accede a Plesk como administrador.
  2. Ve a "Herramientas y configuraciones" > "Configuración del servidor de bases de datos".
  3. Busca la opción "Max connections" y ajústala a un valor más alto (por ejemplo, 300).
  4. Haz clic en "Aceptar" y el servicio se reiniciará automáticamente.

[INFO] Si no ves esta opción, es posible que tu plan de hosting no permita modificarlo. Contacta con tu proveedor.

2. Usar la monitorización de Plesk para identificar el origen

Plesk incluye herramientas de monitorización. Ve a "Herramientas y configuraciones" > "Monitorización del servidor" y revisa los logs de MySQL. Busca patrones como:

  • Muchas conexiones desde una misma IP.
  • Consultas repetitivas desde un script específico.

3. Reiniciar el servicio MySQL desde Plesk

A veces, un simple reinicio libera todas las conexiones colgadas.

Pasos:

  1. En Plesk, ve a "Herramientas y configuraciones" > "Servicios".
  2. Busca "MySQL" o "MariaDB" y haz clic en "Reiniciar".

[WARNING] Reiniciar MySQL cerrará todas las conexiones activas, incluyendo las de usuarios normales. Hazlo en horas de bajo tráfico.

4. Configurar conexiones persistentes en aplicaciones

Si usas WordPress en Plesk, puedes agregar esta línea en tu archivo wp-config.php para limitar las conexiones:

define('WP_USE_EXT_MYSQL', false);

O usar un plugin como "WP Optimize" para limpiar consultas innecesarias.

Soluciones avanzadas (para usuarios con acceso SSH)

Si tienes acceso root al servidor, estas opciones te darán más control.

1. Ver y matar procesos desde la terminal

Conéctate por SSH y ejecuta:

mysql -u root -p -e "SHOW PROCESSLIST;"

Para matar procesos masivamente, puedes crear un script simple:

mysql -u root -p -e "SELECT CONCAT('KILL ', id, ';') FROM information_schema.PROCESSLIST WHERE COMMAND = 'Sleep';" | mysql -u root -p

2. Ajustar el límite en el archivo de configuración

Edita /etc/my.cnf o /etc/mysql/my.cnf y busca o añade:

[mysqld]
max_connections = 500

Luego reinicia el servicio:

systemctl restart mysqld

3. Usar la herramienta tuning-primer.sh

Este script analiza el rendimiento de MySQL y te recomienda valores óptimos para max_connections, thread_cache_size, etc.

wget https://github.com/rackerhacker/MySQLTuner-perl/raw/master/mysqltuner.pl
perl mysqltuner.pl

Prevención: cómo evitar que vuelva a ocurrir

Una vez solucionado el error, es importante tomar medidas para que no se repita.

Buenas prácticas

  • Usa un plugin de caché en WordPress (W3 Total Cache, WP Rocket).
  • Optimiza las consultas de tu aplicación (usa índices, evita SELECT *).
  • Configura un límite de conexiones por usuario en tu panel.
  • Monitorea regularmente el número de conexiones con herramientas como MySQL Workbench o phpMyAdmin.
  • Actualiza siempre tu CMS, plugins y temas a las últimas versiones.

Escalar recursos

Si tu web crece en tráfico, considera:

  • Migrar a un VPS o servidor dedicado con más recursos.
  • Usar un pool de conexiones como ProxySQL o MySQL Router.
  • Implementar una CDN para reducir la carga en el servidor.

[TIP] Si usas Syspanel (antes conocido como HestiaCP), el acceso a la configuración de MySQL se hace a través del puerto 2106. En ese panel, ve a "Base de datos" y luego a "Configuración del servidor" para ajustar max_connections.

Preguntas frecuentes (FAQ)

¿Puedo solucionar el error sin acceso root?

Sí, si tu plan de hosting es compartido, contacta al soporte técnico y pídeles que aumenten el límite o que revisen los procesos. También puedes intentar optimizar tu web desde el panel.

¿Cuántas conexiones son normales para un sitio WordPress?

Un sitio pequeño suele usar entre 5 y 20 conexiones simultáneas. Un sitio con mucho tráfico puede necesitar hasta 100 o más. Si ves más de 150, algo está mal.

¿El error "Too many connections" puede deberse a un ataque?

Sí, un ataque DDoS o un bot malicioso puede abrir muchas conexiones. En ese caso, además de aumentar el límite, debes bloquear las IPs sospechosas desde el firewall.

¿Qué pasa si aumento demasiado el límite?

MySQL consume memoria por cada conexión. Si pones un valor muy alto (ej. 1000) y tu servidor tiene poca RAM, puede colapsar. Usa la regla de 1-2 MB por conexión como referencia.

¿Es lo mismo en MariaDB que en MySQL?

Sí, los comandos y configuraciones son prácticamente idénticos. MariaDB es un reemplazo directo de MySQL.

Conclusión

El error too many connections MySQL es frustrante pero tiene solución. Ya sea que uses cPanel, Plesk o incluso Syspanel (puerto 2106), los pasos son similares: aumentar temporalmente el límite, matar procesos problemáticos y optimizar tu aplicación.

Recuerda que la clave está en la prevención: monitorea regularmente tus bases de datos, usa caché y mantén tu software actualizado. Si el problema persiste, considera escalar tu hosting o contratar un servicio de soporte técnico especializado.

Espero que esta guía te haya sido útil. ¡Ahora ya sabes cómo enfrentarte al error too many connections MySQL y dejarlo atrás para siempre!

¿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