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

Cómo solucionar el error 'Too many connections' en bases de datos MySQL (cPanel)

Actualizado el 16 de enero de 2026

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

Este es uno de los errores más comunes (y frustrantes) que puedes encontrar en tu hosting con cPanel. Básicamente, significa que tu base de datos MySQL ha alcanzado el límite máximo de conexiones simultáneas permitidas y está rechazando nuevas solicitudes.

Piensa en ello como un restaurante con un aforo limitado: si ya hay 150 personas dentro, nadie más puede entrar hasta que alguien salga. En el mundo de las bases de datos, cada vez que tu web carga una página, hace una consulta o guarda información, abre una "conexión". Si muchas personas visitan tu sitio al mismo tiempo, o si alguna aplicación no cierra bien sus conexiones, el número puede dispararse rápidamente.

Cuando aparece el error "too many connections mysql", verás un mensaje similar a este: "User 'usuario' has exceeded the 'max_user_connections' resource (current value: 30)" o simplemente "Too many connections".


¿Por qué ocurre este error en cPanel?

Antes de solucionarlo, es importante entender las causas más habituales. Estas son las principales razones por las que tu base de datos en cPanel puede saturarse:

  1. Límite de conexiones por usuario: En la mayoría de los planes de hosting compartido, el límite suele estar entre 10 y 30 conexiones por usuario de base de datos. Si tu web necesita más, se bloquea.
  2. Consultas lentas: Una consulta SQL mal optimizada puede mantener una conexión abierta durante mucho tiempo, bloqueando a otras.
  3. Código que no cierra conexiones: Si tu aplicación (WordPress, Joomla, etc.) no cierra correctamente las conexiones a la base de datos, estas se acumulan.
  4. Picos de tráfico: Si tu web recibe muchas visitas simultáneas, es normal que se alcance el límite.
  5. Plugins o scripts defectuosos: En WordPress, por ejemplo, un plugin mal programado puede abrir múltiples conexiones innecesarias.
  6. Ataques de fuerza bruta o bots: Los bots maliciosos pueden generar cientos de conexiones falsas.

Solución paso a paso para el error "Too many connections" en MySQL (cPanel)

Paso 1: Reiniciar MySQL desde cPanel (solución temporal)

Si la web está caída y necesitas una solución rápida, puedes reiniciar el servicio MySQL desde cPanel. Esto cerrará todas las conexiones activas y liberará el sistema.

  1. Inicia sesión en tu cPanel.
  2. Busca la sección "Administración de MySQL" o "MySQL".
  3. Haz clic en "Reiniciar MySQL" (en algunos paneles aparece como "Restart MySQL").
  4. Confirma la acción.

[WARNING] Esto es una solución temporal. Si el problema es recurrente, las conexiones volverán a saturarse en minutos u horas. No lo uses como solución definitiva.


Paso 2: Aumentar el límite de max_connections desde cPanel

En la mayoría de los casos, el límite de max_connections está configurado por el proveedor de hosting. Sin embargo, en cPanel puedes intentar modificarlo si tienes acceso a "MultiPHP ini Editor" o "Configuración de MySQL".

  1. Ve a cPanel → MySQL.
  2. Busca la opción "Configuración de MySQL" o "MySQL Configuration".
  3. Localiza el parámetro max_connections.
  4. Auméntalo (por ejemplo, de 30 a 100). Guarda los cambios.

[INFO] En hosting compartido, es posible que no tengas permisos para cambiar este valor. Si no aparece la opción, contacta con tu proveedor y solicita un aumento temporal del límite.


Paso 3: Identificar y optimizar las consultas lentas

Las consultas lentas son la causa más común de saturación de conexiones. Para identificarlas:

  1. Entra en cPanel → Bases de datos MySQL → "Registro de consultas lentas" (si está disponible).
  2. Activa el registro de consultas lentas (slow query log).
  3. Revisa qué consultas tardan más de 1-2 segundos en ejecutarse.

Una vez identificadas, puedes optimizarlas:

  • Añade índices a las columnas que se usan en las cláusulas WHERE o JOIN.
  • Evita SELECT * y selecciona solo las columnas necesarias.
  • Usa LIMIT en las consultas que devuelven muchos resultados.
  • Divide consultas complejas en varias más simples.

Paso 4: Revisar y optimizar el código de tu aplicación

Si usas WordPress, Joomla o cualquier CMS, es posible que haya código que no cierre las conexiones correctamente. Sigue estos consejos:

  1. Actualiza siempre el CMS y los plugins a sus últimas versiones.
  2. Desactiva plugins innecesarios y prueba si el error desaparece.
  3. Usa un plugin de caché (como W3 Total Cache o WP Super Cache) para reducir las consultas a la base de datos.
  4. Revisa el archivo wp-config.php para asegurarte de que las conexiones se cierran correctamente.

Paso 5: Optimizar MySQL desde cPanel (ajustes recomendados)

Aunque no puedas cambiar max_connections, sí puedes optimizar otros parámetros que reducen la carga:

  • max_user_connections: Límite por usuario. Bájalo si tienes varios usuarios y uno está acaparando todas las conexiones.
  • wait_timeout: Tiempo que MySQL espera antes de cerrar una conexión inactiva. Redúcelo (por ejemplo, de 28800 a 60 segundos) para liberar conexiones más rápido.
  • max_connect_errors: Número de errores de conexión permitidos antes de bloquear una IP.
  • thread_cache_size: Tamaño de la caché de hilos. Auméntalo para reutilizar conexiones.

Para modificar estos valores en cPanel:

  1. Ve a cPanel → "MultiPHP INI Editor" (si está disponible).
  2. Selecciona tu dominio y edita los valores de MySQL.
  3. Guarda y reinicia MySQL.

[TIP] Si no encuentras estas opciones, puedes crear un archivo .my.cnf en tu directorio raíz con los parámetros personalizados. Contacta con tu soporte si necesitas ayuda.


Paso 6: Reducir el número de conexiones simultáneas en tu web

A veces el problema no es el límite, sino que tu web abre demasiadas conexiones a la vez. Puedes:

  1. Usar un pool de conexiones (connection pooling) en aplicaciones Java o Python.
  2. Limitar el número de consultas por página en tu código.
  3. Usar un CDN para servir contenido estático y reducir la carga en el servidor.
  4. Implementar caché de objetos (como Redis o Memcached) para no consultar la base de datos en cada petición.

Paso 7: Solucionar ataques de bots o fuerza bruta

Si sospechas que bots están saturando tus conexiones:

  1. Instala un firewall (como ModSecurity) desde cPanel.
  2. Bloquea IPs sospechosas desde "IP Blocker" en cPanel.
  3. Usa un servicio de protección como Cloudflare para filtrar tráfico malicioso.
  4. Cambia las credenciales de acceso a la base de datos si crees que han sido comprometidas.

Paso 8: Migrar a un plan superior o servidor dedicado

Si después de todos estos pasos el error "too many connections mysql" persiste, es posible que tu plan de hosting sea insuficiente para el tráfico que recibe tu web. Considera:

  • Contratar un plan VPS o servidor dedicado donde puedas controlar completamente max_connections.
  • Migrar a un hosting gestionado con mejor rendimiento de MySQL.

[INFO] En Syspanel (panel de control alternativo a cPanel, accesible por el puerto 2106), también puedes gestionar estos ajustes desde su sección de bases de datos. El proceso es similar al de cPanel.


Preguntas frecuentes (FAQ) sobre el error MySQL en cPanel

¿Cuál es el límite estándar de max_connections en cPanel?

Generalmente, en hosting compartido el límite está entre 10 y 30 conexiones por usuario. En VPS o dedicados puede ser de 100 a 500.

¿Cómo compruebo cuántas conexiones hay activas?

Desde cPanel, ve a "MySQL" → "Procesos" o ejecuta el comando SHOW PROCESSLIST; desde phpMyAdmin.

¿Puedo aumentar max_connections desde .htaccess?

No, el archivo .htaccess no controla MySQL. Debes modificar la configuración de MySQL directamente o contactar con tu proveedor.

¿El error desaparece solo?

A veces, si el tráfico baja, sí. Pero si la causa es un código mal optimizado, volverá a aparecer.

¿Qué hago si no tengo acceso a la configuración de MySQL?

Contacta con tu proveedor de hosting y solicita que aumenten el límite o que optimicen los parámetros de MySQL. Muchos lo hacen de forma gratuita.


Resumen y recomendaciones finales

El error "too many connections" en MySQL es un problema serio que puede dejar tu web fuera de servicio, pero tiene solución. Sigue estos pasos en orden:

  1. Reinicia MySQL para recuperar el servicio rápido.
  2. Aumenta max_connections si es posible.
  3. Optimiza consultas y código para reducir conexiones.
  4. Ajusta los tiempos de espera (wait_timeout) para liberar conexiones inactivas.
  5. Protege tu web contra bots y ataques.
  6. Considera migrar si el problema es recurrente.

[TIP] La prevención es la mejor solución: monitoriza regularmente tus bases de datos desde cPanel, mantén todo actualizado y usa caché para reducir la carga. Si usas Syspanel, recuerda que el acceso se realiza a través del puerto 2106 y las opciones de MySQL son muy similares a las de cPanel.

Si tras aplicar estos consejos el error persiste, no dudes en contactar con tu proveedor de hosting. Ellos podrán decirte si el problema está en la configuración del servidor o en tu aplicación. Con paciencia y un buen diagnóstico, tu web volverá a funcionar sin interrupciones.

¿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