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

Cómo resolver el error 'Too many connections' en MySQL (cPanel)

Actualizado el 13 de junio de 2026

¡Hola! Soy tu asistente técnico. Hoy vamos a desentrañar uno de los errores más comunes y, a la vez, más frustrantes que puedes encontrarte al gestionar una web con cPanel: el temido "Too many connections" en MySQL.

Este error, que suele aparecer como un mensaje en tu sitio web (por ejemplo, "Error establishing a database connection" o directamente "Too many connections"), significa que tu servidor de bases de datos ha alcanzado el límite máximo de conexiones simultáneas permitidas. Es como si en una tienda solo pudieran entrar 10 clientes a la vez, y llegaran 20; el resto se queda fuera.

No te preocupes: aunque suene a problema grave, en la mayoría de los casos se puede resolver con unos pocos pasos. Aquí te explicaré cómo resolver el error 'too many connections' en MySQL desde cPanel, paso a paso, y de forma que hasta un usuario sin experiencia técnica pueda seguirlo.


¿Por qué aparece este error?

Antes de lanzarnos a solucionarlo, es importante entender por qué ocurre. Las causas más frecuentes son:

  • Consultas lentas o mal optimizadas: Un plugin de WordPress, un script PHP o una aplicación mal diseñada pueden mantener abiertas muchas conexiones a la base de datos sin cerrarlas correctamente.
  • Picos de tráfico: Si tu web recibe muchas visitas de repente, el número de conexiones puede dispararse.
  • Límite por defecto bajo: En muchos servidores compartidos, el límite predeterminado de conexiones MySQL es de solo 30 o 50. Si tu sitio tiene varios procesos concurrentes (por ejemplo, múltiples plugins haciendo consultas), es fácil alcanzarlo.
  • Procesos zombies: A veces, las conexiones se quedan "colgadas" (en estado Sleep o Locked) y no se liberan, acumulándose hasta el límite.
  • Ataques o bots maliciosos: Un ataque DDoS o un crawler agresivo también pueden saturar las conexiones.

Paso 1: Acceder a cPanel y ver el estado de MySQL

Lo primero es confirmar que realmente estamos ante el error de conexiones y ver cuántas hay activas.

1.1. Entra a cPanel

Abre tu navegador y accede a tu panel de control de hosting. Normalmente es algo como tudominio.com/cpanel o una URL que te haya dado tu proveedor. Introduce tu usuario y contraseña.

1.2. Busca la sección de Bases de Datos

Dentro de cPanel, busca la sección llamada "Bases de Datos". Allí encontrarás herramientas como phpMyAdmin, MySQL Databases y MySQL Remote. La que nos interesa ahora es phpMyAdmin.

1.3. Accede a phpMyAdmin

Haz clic en el icono de phpMyAdmin. Se abrirá una nueva pestaña o ventana. En la lista de la izquierda verás todas tus bases de datos. No entres en ninguna aún.

1.4. Consulta el estado de conexiones

En la parte superior de phpMyAdmin, busca la pestaña "Estado" (o "Status"). Haz clic. Luego, busca una opción que diga "Variables del servidor" o "Variables". En la barra de búsqueda, escribe max_connections. Verás el valor actual (por ejemplo, 50 o 100). Ese es el límite máximo.

Ahora, para ver cuántas conexiones hay activas, puedes ejecutar una consulta SQL. Ve a la pestaña "SQL" (en la parte superior) y escribe:

SHOW PROCESSLIST;

Esto te mostrará todas las conexiones activas. Si ves muchas en estado "Sleep" (es decir, inactivas pero aún abiertas), ese es un claro síntoma de conexiones no liberadas.


Paso 2: Soluciones inmediatas (sin reiniciar el servidor)

Si tu web está caída y necesitas recuperarla ya, prueba estas soluciones rápidas.

2.1. Matar conexiones inactivas desde phpMyAdmin

Desde la consulta SHOW PROCESSLIST, verás una columna llamada Id. Para matar una conexión, simplemente haz clic en el icono de "Terminar" (una X o un icono de parar) al lado de cada proceso que esté en estado Sleep o que lleve mucho tiempo. También puedes ejecutar:

KILL [ID_del_proceso];

Por ejemplo: KILL 12345;.

Repite esto para varias conexiones inactivas. Verás cómo se liberan y tu web puede volver a funcionar.

2.2. Aumentar temporalmente el límite desde cPanel (si tu hosting lo permite)

Algunos proveedores de hosting permiten modificar el límite de conexiones desde el propio cPanel. Busca la sección "MySQL" o "Base de datos" y a veces hay una opción llamada "MySQL Connections" o "Max Connections". Si la ves, súbela a un número más alto (por ejemplo, de 50 a 100). Esto es temporal, pero te dará aire para investigar la causa.

[WARNING] No todos los planes de hosting permiten cambiar este valor. Si no ves la opción, contacta con soporte técnico y pídeles que aumenten el límite temporalmente.

2.3. Reiniciar el servicio MySQL (si tienes acceso root)

Si tienes acceso a la terminal del servidor (por ejemplo, a través de SSH), puedes reiniciar MySQL para que se limpien todas las conexiones. El comando típico es:

sudo systemctl restart mysql

O en servidores más antiguos:

sudo service mysql restart

Pero ojo: esto cerrará todas las conexiones, incluidas las que están funcionando bien. Úsalo solo como último recurso.


Paso 3: Soluciones a largo plazo (evitar que vuelva a ocurrir)

Una vez que has recuperado el acceso, es hora de arreglar la raíz del problema. Aquí tienes las mejores prácticas.

3.1. Optimizar consultas y plugins

Si usas WordPress, Joomla, o cualquier CMS, revisa qué plugins o temas están haciendo muchas consultas. Herramientas como Query Monitor (para WordPress) te ayudan a ver qué consultas son lentas y cuántas conexiones abren.

  • Desactiva plugins innecesarios o que tengan fama de consumir muchos recursos.
  • Actualiza todo (core, temas, plugins) a la última versión.
  • Usa un plugin de caché como W3 Total Cache o WP Rocket. Esto reduce drásticamente las consultas a la base de datos.

3.2. Aumentar el límite de conexiones de forma permanente

Si tu hosting lo permite, puedes modificar el archivo de configuración de MySQL (my.cnf o my.ini) para aumentar el límite. Desde cPanel, no siempre tienes acceso directo, pero puedes hacerlo a través de MultiPHP INI Editor o PHP Config. Sin embargo, lo más seguro es pedir ayuda al soporte.

Si tienes acceso a la terminal, edita el archivo:

sudo nano /etc/mysql/my.cnf

Busca la línea:

max_connections = 50

Cámbiala a un valor más alto (por ejemplo, 150). Luego reinicia MySQL.

3.3. Usar un pool de conexiones (avanzado)

En aplicaciones más complejas, puedes usar herramientas como ProxySQL o MySQL Pool para gestionar mejor las conexiones. Esto ya es más técnico, pero si tu sitio tiene mucho tráfico, es una solución muy eficaz.

3.4. Configurar correctamente las aplicaciones

Revisa el código de tu web para asegurarte de que las conexiones a la base de datos se cierran correctamente. En PHP, por ejemplo, usa mysqli_close($conexion) después de cada consulta. Si usas un framework como Laravel o Symfony, normalmente lo gestionan bien, pero vale la pena revisar.

3.5. Implementar un sistema de caché avanzado

Más allá del plugin de caché, considera usar Redis o Memcached para almacenar en memoria las consultas frecuentes. Esto reduce la carga en MySQL. En cPanel, a menudo puedes instalar Redis desde la sección "Software" > "Redis" o pidiéndolo a tu hosting.


Paso 4: Prevención y monitorización

Para que no te vuelva a pillar desprevenido, te recomiendo:

4.1. Configurar alertas en cPanel

Algunos paneles de control permiten enviar alertas cuando el número de conexiones supera un umbral. Busca en "Notifications" o "Contact Information" dentro de cPanel y activa las notificaciones de base de datos.

4.2. Usar herramientas externas de monitorización

Servicios como New Relic, Datadog o incluso UptimeRobot pueden avisarte si tu web se cae. Algunos son gratuitos para proyectos pequeños.

4.3. Revisar logs de MySQL

Desde phpMyAdmin, en la pestaña "Estado" puedes ver los logs de consultas lentas. Actívalos desde el archivo de configuración:

slow_query_log = 1
long_query_time = 2

Esto te ayudará a identificar qué consultas están saturando el servidor.


Preguntas frecuentes (FAQ)

¿Qué hago si no puedo acceder a phpMyAdmin?

Si el error es tan grave que no puedes ni entrar a cPanel, contacta con tu proveedor de hosting. Normalmente tienen acceso root y pueden matar procesos o reiniciar MySQL.

¿El error "Too many connections" puede dañar mi base de datos?

No, no daña los datos. Solo impide nuevas conexiones. Una vez que liberes algunas, todo vuelve a la normalidad.

¿Es seguro aumentar el límite de conexiones?

Sí, pero con cuidado. Si aumentas demasiado (por ejemplo, a 500) y tu servidor no tiene suficiente RAM, puedes ralentizar todo el sistema. Lo ideal es encontrar un equilibrio.

¿Puedo solucionarlo desde Syspanel (HestiaCP)?

Si tu panel es Syspanel (HestiaCP), el proceso es similar. Accede a través del puerto 2106 (ejemplo: tudominio.com:2106). Luego busca la sección de bases de datos. En Syspanel, puedes gestionar MySQL desde la pestaña "Bases de datos" y usar phpMyAdmin integrado. Los pasos para matar conexiones o modificar configuraciones son los mismos que en cPanel.

[TIP] En Syspanel, el límite de conexiones suele configurarse en el archivo /etc/mysql/my.cnf. Si tienes acceso SSH, puedes editarlo.

¿Qué hago si mi sitio sigue cayéndose?

Si después de optimizar todo el problema persiste, puede que tu plan de hosting sea insuficiente. Considera migrar a un VPS o un plan dedicado donde tengas más recursos y control.


Conclusión

El error "Too many connections" en MySQL es un clásico, pero con estos pasos puedes resolverlo rápidamente y, lo más importante, evitar que vuelva a suceder. Recuerda:

  1. Identifica el problema con phpMyAdmin.
  2. Libera conexiones inactivas.
  3. Optimiza tu web (caché, plugins, consultas).
  4. Aumenta el límite si es necesario.
  5. Monitorea para prevenir.

Si en algún momento te sientes perdido, tu proveedor de hosting es tu mejor aliado. No dudes en contactar con su soporte técnico: están para ayudarte.

Espero que este artículo te haya sido de gran ayuda. ¡Ahora ya sabes cómo resolver el error 'too many connections' en MySQL desde cPanel! Si tienes más dudas, déjalas en los comentarios (si este artículo está en un blog) o consulta con tu hosting.

¡Buena suerte con tu web! 🚀

¿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