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

¿Cómo solucionar error 'Too many connections' en MySQL de cPanel?

Actualizado el 26 de marzo de 2026

¿Qué significa realmente el error "Too many connections" en MySQL?

Si estás gestionando un sitio web a través de cPanel y de repente ves un mensaje como: "Can't connect to MySQL server: Too many connections", no te preocupes. Es uno de los errores más comunes en entornos de hosting compartido y VPS, y tiene una explicación muy sencilla.

Imagina que tu base de datos MySQL es una pequeña cafetería con un número limitado de mesas. Cada vez que una aplicación (como WordPress, Joomla o un script personalizado) quiere consultar o guardar información, pide una "mesa" (una conexión). Si de repente llegan 200 personas pidiendo mesa, pero solo tienes 150, el resto se queda fuera. Eso es exactamente lo que ocurre: el límite de conexiones simultáneas se ha superado.

Este límite se define en la configuración de MySQL, normalmente con un valor por defecto de 151 conexiones. Pero en entornos compartidos, los proveedores de hosting suelen reducirlo para evitar que un solo usuario consuma todos los recursos del servidor.


Causas comunes del error "Too many connections"

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

  • Scripts mal optimizados: Un plugin de WordPress que no cierra las conexiones después de usarlas.
  • Picos de tráfico inesperados: Muchos visitantes simultáneos pueden generar muchas consultas.
  • Conexiones persistentes mal configuradas: Algunas aplicaciones mantienen abiertas las conexiones aunque no las estén usando.
  • Ataques DDoS o bots: Tráfico malicioso que satura las conexiones disponibles.
  • Procesos dormidos (sleeping): Conexiones que quedan abiertas pero inactivas durante largos periodos.

Paso a paso: Cómo diagnosticar el problema desde cPanel

### 1. Accede a phpMyAdmin desde cPanel

Lo primero es ver cuántas conexiones hay activas. Desde tu panel cPanel:

  1. Busca la sección Bases de Datos y haz clic en phpMyAdmin.
  2. Una vez dentro, selecciona cualquier base de datos (no importa cuál).
  3. En la pestaña SQL, escribe este comando y ejecútalo:
SHOW PROCESSLIST;

Este comando te mostrará todas las conexiones activas en ese momento. Fíjate en la columna Command: si ves muchas filas con el valor Sleep, significa que hay conexiones inactivas ocupando espacio.

### 2. Identifica qué usuario o script genera más conexiones

Si el error es recurrente, puedes ejecutar:

SELECT user, host, count(*) FROM information_schema.processlist GROUP BY user, host;

Esto te dirá qué usuario de MySQL está usando más conexiones. Si ves que un usuario específico tiene decenas de conexiones, probablemente ese sea el origen del problema.

### 3. Mata conexiones problemáticas temporalmente

Si necesitas una solución urgente para que el sitio vuelva a funcionar, puedes cerrar conexiones manualmente. Ejecuta:

KILL [ID_de_la_conexión];

Sustituye [ID_de_la_conexión] por el número que aparece en la columna Id del SHOW PROCESSLIST. Esto liberará espacio de inmediato, pero es un parche temporal.


Soluciones definitivas para el error "Too many connections"

### Aumentar el límite de conexiones en MySQL

Si tu plan de hosting lo permite (especialmente en VPS o servidores dedicados), puedes aumentar el valor máximo de conexiones.

Desde cPanel (WHM)

  1. Accede a WHM (Web Host Manager) como administrador.
  2. Busca SQL Services y luego MySQL/MariaDB Configuration.
  3. Localiza la directiva max_connections.
  4. Auméntala con cuidado. Un valor típico para sitios pequeños es 200-300. Para sitios grandes, 500-800.
  5. Guarda los cambios y reinicia MySQL desde WHM.

Si no tienes acceso a WHM (hosting compartido)

En muchos planes compartidos no podrás modificar esta configuración. En ese caso, contacta con tu proveedor de hosting y pídeles que aumenten el límite. Explícales que estás teniendo el error "too many connections" y que necesitas un valor más alto.

[WARNING] Si aumentas demasiado las conexiones, podrías saturar la memoria RAM del servidor. Consulta con tu proveedor antes de hacer cambios drásticos.

### Optimizar las consultas y cerrar conexiones

La mayoría de las veces, el problema no es que falten conexiones, sino que las aplicaciones no las gestionan bien.

Para WordPress:

  1. Revisa los plugins instalados. Desactiva todos y ve activándolos uno por uno para detectar cuál genera el error.
  2. Instala un plugin de caché como W3 Total Cache o WP Super Cache. Esto reduce drásticamente las consultas a la base de datos.
  3. Si usas WooCommerce, asegúrate de tener un plugin de optimización específico para ecommerce.

Para aplicaciones personalizadas (PHP, Python, etc.):

  • Asegúrate de que tu código cierra las conexiones después de cada consulta con mysqli_close() o su equivalente.
  • Evita usar conexiones persistentes a menos que sea estrictamente necesario. En PHP, la conexión persistente se activa con p: en el host (ejemplo: p:localhost). Si no lo necesitas, elimínalo.

### Implementar un sistema de colas o limitación

Si tu sitio recibe picos de tráfico muy altos (por ejemplo, durante promociones o lanzamientos), considera:

  • Usar un CDN (Content Delivery Network) como Cloudflare para reducir la carga directa al servidor.
  • Implementar un sistema de colas (como Redis o RabbitMQ) para gestionar las consultas de forma ordenada.
  • Configurar un limitador de conexiones a nivel de aplicación.

### Monitorear y prevenir futuros incidentes

La mejor solución es la prevención. Te recomiendo:

  1. Activar el log de consultas lentas en MySQL desde cPanel/WHM. Así identificarás qué consultas tardan más de lo normal.
  2. Usar herramientas de monitoreo como MySQLTuner (puedes ejecutarlo desde SSH o pedir a tu hosting que lo haga).
  3. Revisar periódicamente el estado de las conexiones con SHOW STATUS LIKE 'Threads_connected';.

Preguntas frecuentes (FAQ) sobre el error "Too many connections"

P: ¿Este error puede dañar mi base de datos?

R: No, el error solo impide nuevas conexiones. Los datos existentes no se pierden ni se corrompen. Una vez que se liberan conexiones, todo vuelve a la normalidad.

P: ¿Es normal que ocurra en hosting compartido?

R: Sí, es más común en planes compartidos porque el límite de conexiones suele ser bajo (por ejemplo, 25-50). Si te ocurre con frecuencia, considera migrar a un VPS o plan dedicado.

P: ¿Puedo solucionarlo sin acceso a WHM?

R: Sí, puedes optimizar tu aplicación, cerrar conexiones inactivas desde phpMyAdmin y pedir a tu proveedor que aumente el límite. Si usas Syspanel (antes conocido como HestiaCP), recuerda que el acceso es por el puerto 2106 y allí también puedes gestionar la configuración de MySQL.

P: ¿Cuántas conexiones debería tener mi sitio?

R: Depende del tráfico. Un sitio pequeño con 100 visitas diarias puede funcionar bien con 50 conexiones. Un ecommerce con 10,000 visitas diarias puede necesitar 300 o más.

P: ¿Qué hago si el error persiste después de aumentar el límite?

R: Si el límite está en 500 y sigues teniendo el error, el problema no es la cantidad de conexiones, sino que alguna aplicación las está dejando abiertas. Revisa los logs del servidor y los procesos con SHOW PROCESSLIST para identificar el script problemático.


Conclusión: No entres en pánico, actúa con método

El error "Too many connections" en MySQL es molesto, pero rara vez es grave. Siguiendo estos pasos podrás:

  1. Diagnosticar rápidamente qué está pasando.
  2. Liberar conexiones de emergencia para que tu sitio vuelva a funcionar.
  3. Implementar soluciones a largo plazo para que no se repita.

Recuerda que si tu sitio está en un plan de hosting compartido, las limitaciones son normales. A veces, la mejor solución es migrar a un entorno con más recursos. Y si usas Syspanel, ya sabes que el puerto 2106 es tu aliado para gestionar estos ajustes.

¿Sigues teniendo dudas? Pregunta a tu proveedor de hosting o busca en foros especializados. El error tiene solución, y con un poco de paciencia, tu sitio volverá a volar.

¿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