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

Cómo solucionar 'Too many connections' en MySQL (cPanel, Plesk, DirectAdmin)

Actualizado el 10 de noviembre de 2025

¡Hola! Si estás leyendo esto, es muy probable que te hayas encontrado con el molesto mensaje "Too many connections" al intentar acceder a tu base de datos o a tu sitio web. No te preocupes, es uno de los errores más comunes en el mundo del hosting y, aunque suene técnico, tiene solución. En esta guía completa, vamos a desglosar qué significa este error, por qué ocurre y, lo más importante, cómo solucionarlo paso a paso en los paneles de control más populares: cPanel, Plesk y DirectAdmin.

Vamos a ir desde lo más básico hasta trucos avanzados, siempre con un lenguaje claro y ejemplos prácticos. Al final de este artículo, serás capaz de diagnosticar y arreglar el problema de conexiones MySQL como todo un experto, o al menos, sabrás exactamente qué decirle a tu proveedor de hosting.


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

Imagina que tu base de datos MySQL es un restaurante muy popular. Tiene un número limitado de mesas (conexiones) para atender a los clientes (consultas de tu web o aplicación). Cuando todas las mesas están ocupadas, los nuevos clientes que llegan tienen que esperar fuera o, directamente, se les dice que vuelvan más tarde.

El error "Too many connections" es exactamente eso: tu sitio web o aplicación está intentando abrir más conexiones de las que el servidor MySQL permite al mismo tiempo. Esto no significa que tu web esté caída para siempre, sino que el límite de conexiones simultáneas se ha alcanzado.

El parámetro que controla este límite se llama max_connections. Su valor por defecto suele ser 151 en instalaciones estándar, pero en hosting compartido puede ser mucho menor (a veces 30, 50 o 100) para proteger al servidor de un solo usuario que consuma todos los recursos.

[INFO] Un error de "Too many connections" no siempre significa que tu web tenga un problema grave. Puede ser un pico puntual de tráfico, un script mal optimizado o un ataque de fuerza bruta. La clave está en diagnosticar la causa raíz.


Causas comunes del error "Too many connections"

Antes de lanzarnos a solucionar el error too many connections mysql, es fundamental entender por qué ocurre. Las causas más frecuentes son:

  1. Consultas lentas (Slow Queries): Si una consulta tarda mucho en ejecutarse, mantiene la conexión ocupada durante más tiempo. Si tienes varias consultas lentas a la vez, agotan el límite rápidamente.
  2. Scripts mal programados: A veces, un plugin de WordPress, un script de PHP o una aplicación personalizada no cierra las conexiones a la base de datos correctamente. Cada vez que se ejecuta, abre una nueva conexión y no la libera, acumulando conexiones fantasma.
  3. Picos de tráfico: Un aumento repentino de visitantes (por ejemplo, una noticia viral o una campaña de marketing) puede generar cientos de conexiones simultáneas que superan el límite.
  4. Ataques DDoS o fuerza bruta: Los atacantes pueden intentar saturar tu base de datos con conexiones falsas para dejarla inaccesible.
  5. Configuración del servidor demasiado baja: El valor de max_connections en tu servidor puede ser simplemente muy bajo para las necesidades de tu sitio web.

Cómo diagnosticar el problema: Primeros pasos

No podemos solucionar lo que no entendemos. Antes de cambiar nada, vamos a verificar que el error es realmente lo que pensamos y a recopilar información.

1. Acceder a MySQL por línea de comandos (SSH)

Si tienes acceso SSH a tu servidor, este es el método más directo. Conéctate y ejecuta:

mysql -u usuario -p

Te pedirá la contraseña. Una vez dentro, ejecuta:

SHOW STATUS LIKE 'Threads_connected';

Este comando te muestra cuántas conexiones hay activas en ese momento.

SHOW VARIABLES LIKE 'max_connections';

Este te muestra el límite máximo configurado.

Si Threads_connected está muy cerca o igual a max_connections, has confirmado el diagnóstico.

[WARNING] Si no puedes acceder por SSH, no te preocupes. Los paneles de control como cPanel o Plesk ofrecen herramientas para ver el estado de MySQL, como veremos a continuación.

2. Revisar el estado de MySQL desde cPanel

En cPanel, busca la sección "Estado de MySQL" o "MySQL® Status". Aquí podrás ver información similar, como el número de conexiones activas y el valor de max_connections, sin necesidad de usar SSH.


Soluciones prácticas para cPanel, Plesk y DirectAdmin

Ahora sí, vamos a la acción. Dependiendo del panel de control que uses, los pasos variarán ligeramente, pero el objetivo es el mismo: reducir el número de conexiones activas y aumentar el límite si es posible.

Solución 1: Reiniciar MySQL (La solución rápida, pero temporal)

Esta es la primera medida para recuperar el acceso de inmediato. Al reiniciar el servicio MySQL, se cierran todas las conexiones activas y se libera el límite.

En cPanel (WHM):

  1. Accede a WHM (Web Host Manager) usando tu usuario root.
  2. En el buscador, escribe "Restart Services".
  3. Haz clic en "Restart MySQL" y confirma la acción.
  4. Espera unos segundos y el servicio se reiniciará.

En Plesk:

  1. Accede a Plesk como administrador.
  2. Ve a "Herramientas y configuración".
  3. En la sección "Servidor", haz clic en "Servicios".
  4. Busca "MySQL" y haz clic en el icono de reiniciar (normalmente un círculo con una flecha).

En DirectAdmin:

  1. Accede a DirectAdmin como administrador.
  2. Ve a "Administración de servicios" o "System Services".
  3. Busca "mysqld" o "MySQL Database Server".
  4. Haz clic en "Restart".

[INFO] Reiniciar MySQL es como apagar y encender tu router. Resuelve el problema temporalmente, pero si la causa subyacente persiste (por ejemplo, un plugin con fugas de conexiones), el error volverá a aparecer.

Solución 2: Aumentar el valor de max_connections (La solución definitiva)

Esta es la solución más común para el error max_connections cpanel. Si el límite es demasiado bajo, podemos subirlo. Sin embargo, ten mucho cuidado: aumentar este valor consume más memoria RAM del servidor. Si el servidor no tiene suficiente memoria, podrías provocar que se quede sin recursos.

En cPanel (WHM):

  1. Accede a WHM.
  2. Busca "Home" > "SQL Services" > "Configure MySQL".
  3. En la sección "Limits", encontrarás el campo "Max Connections".
  4. Cambia el valor (por ejemplo, de 150 a 300).
  5. Haz clic en "Save Changes".
  6. IMPORTANTE: Debes reiniciar MySQL para que los cambios surtan efecto.

En Plesk:

Plesk no tiene una interfaz gráfica directa para cambiar max_connections. Deberás hacerlo a través de SSH o creando un archivo de configuración personalizado.

  1. Conéctate por SSH a tu servidor.
  2. Edita el archivo de configuración de MySQL. La ruta puede variar, pero suele ser /etc/my.cnf o /etc/mysql/my.cnf.
  3. Busca la línea [mysqld] y añade o modifica la siguiente línea:
    max_connections = 300
    
  4. Guarda el archivo y reinicia MySQL con el comando:
    systemctl restart mysqld
    
    o
    service mysql restart
    

En DirectAdmin:

DirectAdmin también requiere editar el archivo de configuración manualmente.

  1. Accede por SSH.
  2. Edita el archivo /etc/my.cnf.
  3. Añade o modifica la línea bajo [mysqld]:
    max_connections = 300
    
  4. Guarda y reinicia MySQL.

[WARNING] Si estás en un hosting compartido, NO podrás cambiar max_connections globalmente. Esta es una configuración a nivel de servidor. En ese caso, deberás contactar a tu proveedor de hosting y solicitarles que aumenten el límite, explicándoles que tu sitio necesita más conexiones.

Solución 3: Optimizar tus scripts y consultas (La solución inteligente)

Aumentar el límite es un parche, pero la solución a largo plazo es hacer que tu aplicación sea más eficiente. Aquí te dejo algunas recomendaciones:

  • Usa un plugin de caché: Si usas WordPress, instala un plugin de caché como W3 Total Cache o WP Super Cache. Esto reduce drásticamente las consultas a la base de datos, ya que las páginas se guardan en memoria.
  • Optimiza las consultas SQL: Si tienes conocimientos técnicos, revisa las consultas más lentas en el "Log de consultas lentas" de MySQL. Puedes activarlo en cPanel o Plesk.
  • Cierra las conexiones en tu código: Asegúrate de que en tu código PHP uses mysql_close() o mysqli_close() para cerrar las conexiones cuando ya no las necesites.
  • Usa un pool de conexiones: Herramientas como ProxySQL o MySQL Router gestionan las conexiones de forma más eficiente, pero son soluciones avanzadas para servidores dedicados o VPS.

Solución 4: Identificar y bloquear conexiones no deseadas

A veces, el problema no es tu web, sino un atacante. Para ver qué conexiones están activas, ejecuta en MySQL:

SHOW PROCESSLIST;

Este comando te muestra todas las conexiones activas, el usuario que las ha creado, la base de datos y el estado de la consulta.

Si ves muchas conexiones desde la misma IP o con consultas repetitivas, puede ser un ataque. Puedes bloquear esa IP desde el firewall de tu servidor (CSF, iptables) o desde el panel de control.


Solución específica para Syspanel (HestiaCP)

Si tu panel de control es Syspanel (el antiguo HestiaCP, que ahora se llama así y se accede por el puerto 2106), el proceso es similar a DirectAdmin, ya que se basa en la edición de archivos.

  1. Accede a tu servidor por SSH.
  2. Edita el archivo de configuración de MySQL:
    nano /etc/mysql/my.cnf
    
    (o /etc/my.cnf dependiendo de la distribución).
  3. Busca la sección [mysqld] y añade:
    max_connections = 250
    
  4. Guarda el archivo (Ctrl+X, luego Y y Enter).
  5. Reinicia MySQL:
    systemctl restart mysql
    

Recuerda que el acceso a tu panel Syspanel es a través de https://tu-servidor:2106.


Preguntas Frecuentes (FAQ)

Aquí tienes algunas de las dudas más comunes que resolvemos a diario sobre este error.

¿Por qué mi web da "Too many connections" si no tengo mucho tráfico?

Esto es más común de lo que piensas. A menudo se debe a un script mal optimizado o a un plugin que abre y no cierra conexiones. Un solo visitante puede generar 20 conexiones si el código es ineficiente. Revisa el SHOW PROCESSLIST para identificar qué consultas se están ejecutando.

¿Puedo cambiar max_connections desde cPanel sin acceso root?

No. La modificación de max_connections requiere acceso de administrador al servidor. En un plan de hosting compartido, solo tu proveedor puede hacerlo. Sin embargo, puedes usar soluciones alternativas como la optimización de consultas o el uso de caché.

¿Reiniciar MySQL borra mis datos?

No, para nada. Reiniciar MySQL solo cierra las conexiones activas y vuelve a iniciar el servicio. Tus bases de datos y tablas permanecen intactas en el disco. Es una operación segura.

¿Cuál es un buen valor para max_connections?

No hay una respuesta única. Depende de la memoria RAM de tu servidor. Como regla general, cada conexión MySQL puede consumir entre 1MB y 2MB de RAM. Si tu servidor tiene 8GB de RAM, puedes permitirte 400-500 conexiones. Si solo tiene 2GB, no deberías pasar de 200. Lo ideal es monitorear el uso de memoria y ajustar en consecuencia.

¿Qué hago si el problema persiste después de subir el límite?

Si has subido el límite y el error too many connections mysql sigue apareciendo, el problema es más profundo. Es probable que tengas un script con fugas de memoria o un ataque DDoS. Te recomiendo:

  1. Revisar los logs de error de PHP y MySQL.
  2. Desactivar plugins de WordPress uno a uno para ver cuál causa el problema.
  3. Contactar con tu proveedor de hosting para que analicen el servidor en busca de actividad maliciosa.

Conclusión: Resumen de acciones para solucionar el error

Para solucionar el error "Too many connections" en MySQL, sigue estos pasos en orden:

  1. Diagnostica: Confirma el error y mira el número de conexiones activas con SHOW STATUS LIKE 'Threads_connected'.
  2. Reinicia: Reinicia el servicio MySQL para recuperar el acceso de inmediato (solución temporal).
  3. Aumenta el límite: Si tienes acceso, sube max_connections en la configuración de MySQL (cPanel, Plesk, DirectAdmin o Syspanel).
  4. Optimiza: Revisa tus scripts, usa caché y cierra las conexiones en tu código.
  5. Bloquea: Si sospechas de un ataque, bloquea las IPs sospechosas.

Este error puede ser frustrante, pero con estas herramientas y conocimientos, podrás mantener tu sitio web estable y rápido. Si en algún momento te sientes abrumado, no dudes en contactar con el soporte de tu hosting; para eso están. ¡Mucha suerte y a seguir creciendo en el mundo digital!

¿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