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

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

Actualizado el 19 de junio de 2026

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

Si alguna vez has visto un mensaje como "Too many connections" en tu web, no te asustes. Es uno de los errores más comunes en servidores de hosting y tiene solución. Este aviso aparece cuando el número de conexiones simultáneas a tu base de datos MySQL o MariaDB supera el límite máximo permitido por el servidor.

Piensa en las conexiones como si fueran líneas telefónicas: si todas están ocupadas y alguien intenta llamar, recibe una señal de ocupado. Eso mismo le pasa a tu aplicación (WordPress, Joomla, etc.) cuando intenta conectarse a la base de datos y no hay "líneas" disponibles.

Para que lo entiendas mejor, cada vez que alguien visita tu web, tu aplicación abre una conexión a la base de datos para cargar contenido. Si tienes muchas visitas simultáneas o algún plugin mal configurado que abre muchas conexiones, puedes llegar al límite rápidamente. El error too many connections mysql es especialmente frecuente en servidores compartidos con límites bajos.

¿Por qué ocurre este error de conexiones MySQL?

Hay varias razones por las que puedes encontrarte con este problema. Te las explico de forma sencilla:

  1. Límite bajo configurado: El servidor tiene un valor max_connections muy bajo (por ejemplo, 30 o 50) y tu sitio necesita más.
  2. Conexiones que no se cierran: Algún script o plugin no cierra las conexiones correctamente, dejando "hilos colgados".
  3. Picos de tráfico: Tu web recibe más visitas de lo habitual y todas quieren acceder a la base de datos al mismo tiempo.
  4. Consultas lentas: Si hay consultas que tardan mucho en ejecutarse, bloquean conexiones que podrían usarse para otras peticiones.
  5. Ataques o bots: Algunos bots maliciosos pueden abrir muchas conexiones para ralentizar tu sitio.
  6. Problemas con el pool de conexiones: Aplicaciones como WordPress con plugins de caché mal configurados pueden abrir demasiadas conexiones.

¿Cómo saber cuál es tu límite actual de conexiones?

Antes de cambiar nada, necesitas saber cuántas conexiones tienes permitidas. Aquí te muestro cómo hacerlo según tu panel de control.

En DirectAdmin

  1. Entra en tu panel de DirectAdmin.
  2. Ve a la sección "MySQL Management" o "Database Management".
  3. Busca la opción "Limits" o "User Limits".
  4. Ahí verás el valor de "Maximum Database Connections" (o similar).

En cPanel

  1. Accede a tu cPanel.
  2. Busca la sección "Databases" y entra en "MySQL Databases".
  3. En la parte derecha o en la pestaña de "Metrics" podrás ver las conexiones activas.
  4. El límite máximo suele estar en el archivo de configuración del servidor, pero en cPanel puedes consultarlo con la herramienta "MySQL Status" dentro de "Metrics".

[INFO] Si no encuentras esta información en tu panel, puedes usar el cliente SSH o la herramienta phpMyAdmin para consultarlo. Ejecuta el comando: SHOW VARIABLES LIKE 'max_connections';

Solución paso a paso para aumentar conexiones MySQL

Ahora vamos a lo importante: cómo resolver el error error mysql conexiones. Dependiendo del tipo de hosting que tengas, tendrás más o menos control sobre el servidor.

Paso 1: Reinicia tu servidor de bases de datos (solución temporal)

Si el error aparece de repente y necesitas recuperar el acceso rápido, puedes reiniciar el servicio MySQL. Esto cerrará todas las conexiones activas y liberará el límite.

En DirectAdmin (si tienes acceso de administrador):

  1. Conéctate por SSH a tu servidor.
  2. Ejecuta: systemctl restart mysql (o service mysql restart según tu sistema).

En cPanel (como administrador):

  1. Ve a "WHM" (Web Host Manager).
  2. Entra en "Restart Services".
  3. Selecciona "MySQL" y haz clic en "Restart".

[WARNING] Esta solución es temporal. Si el problema persiste, deberás ajustar la configuración para evitar que vuelva a pasar.

Paso 2: Aumenta el valor de max_connections

Para aumentar conexiones mysql de forma permanente, debes modificar el archivo de configuración de MySQL.

En DirectAdmin

  1. Accede por SSH a tu servidor.
  2. Edita el archivo de configuración: nano /etc/my.cnf (o my.cnf.d/server.cnf).
  3. Busca la sección [mysqld].
  4. Añade o modifica esta línea:
max_connections = 150
  1. Guarda el archivo (Ctrl+O y luego Ctrl+X en nano).
  2. Reinicia MySQL: systemctl restart mysql

[TIP] El valor recomendado dependerá de la memoria RAM de tu servidor. Como referencia: para 2GB de RAM puedes usar 100, para 4GB usa 200, para 8GB usa 400.

En cPanel

  1. Entra en WHM.
  2. Ve a "Home" → "SQL Services" → "MySQL/MariaDB Configuration".
  3. Busca el campo "max_connections".
  4. Cambia el valor y guarda.
  5. WHM aplicará los cambios automáticamente.

[INFO] En cPanel, el archivo de configuración suele estar en /etc/my.cnf o /etc/my.cnf.d/. Si no puedes editar desde WHM, usa SSH para hacerlo manualmente.

Paso 3: Optimiza tus consultas y cierra conexiones

A veces no es necesario aumentar el límite, sino optimizar cómo se usan las conexiones. Aquí tienes algunas recomendaciones:

  • En WordPress: Instala un plugin de caché como W3 Total Cache o WP Super Cache para reducir las consultas a la base de datos.
  • Revisa los plugins: Desactiva plugins que sean sospechosos de abrir muchas conexiones.
  • Cierra conexiones en tu código: Si desarrollas, asegúrate de cerrar las conexiones con mysql_close() o mysqli_close().
  • Usa un pool de conexiones: Si tu aplicación lo permite, configura un pool para reutilizar conexiones en lugar de abrir nuevas.

Paso 4: Identifica qué está consumiendo las conexiones

Para saber qué procesos están usando las conexiones, ejecuta este comando en SSH o phpMyAdmin:

SHOW PROCESSLIST;

Esto te mostrará todas las conexiones activas. Fíjate en la columna "Command" y "Time". Si ves muchas en estado "Sleep" con tiempo alto, significa que hay conexiones que no se cierran bien.

[TIP] Puedes matar una conexión específica con: KILL [ID]; (reemplaza [ID] con el número de la conexión).

Paso 5: Considera cambiar el tipo de tabla o el motor

Si usas tablas MyISAM, considera migrar a InnoDB. Este último gestiona mejor las conexiones y las bloquea de forma más eficiente. Puedes hacerlo desde phpMyAdmin:

  1. Selecciona tu base de datos.
  2. Marca todas las tablas.
  3. En el desplegable, elige "Operations".
  4. Cambia el motor a InnoDB.

Soluciones específicas para DirectAdmin

Si tienes directadmin mysql y no tienes acceso de administrador al servidor, puedes probar estas alternativas:

  1. Contacta con tu proveedor de hosting: Muchos hosts permiten aumentar el límite si lo solicitas.
  2. Usa el plan de hosting adecuado: Si tu plan es muy básico, quizás necesites uno con más recursos.
  3. Optimiza tu sitio: Mejora la velocidad de carga para reducir el número de consultas simultáneas. Esto suele ser suficiente en muchos casos.

Soluciones específicas para cPanel

Para el cpanel mysql error, además de lo anterior, puedes:

  1. Usar MySQL Remote para limitar qué IPs pueden conectarse.
  2. Configurar el "Connection Pooling" si tu hosting lo permite.
  3. Revisar los logs de errores: Ve a "Metrics" → "Errors" en cPanel para ver qué está causando el problema.

¿Qué pasa si no tengo acceso SSH ni a la configuración?

Si estás en un hosting compartido sin acceso de administrador, tus opciones son:

  1. Contactar al soporte técnico: Pide que aumenten el límite de conexiones. Muchas veces lo hacen sin coste extra.
  2. Optimizar tu sitio: Reduce plugins, usa caché y limpia tu base de datos regularmente.
  3. Migrar a un plan superior: Si tu web crece, necesitarás más recursos.

[WARNING] No intentes modificar archivos del servidor si no tienes permisos. Podrías romper algo y dejar tu web caída.

Preguntas frecuentes sobre el error "Too many connections"

¿Es peligroso este error?

No es peligroso para tus datos, pero sí puede dejar tu web inaccesible temporalmente. Es una señal de que tu sitio necesita más recursos o una mejor optimización.

¿Cuántas conexiones MySQL debería tener?

Lo normal es entre 50 y 150 para sitios pequeños o medianos. Si tu web recibe mucho tráfico, necesitarás más.

¿Puedo evitar este error sin aumentar el límite?

Sí, optimizando tu sitio. Reduce el uso de plugins, activa la caché y asegúrate de que tu código cierra las conexiones correctamente.

¿Qué diferencia hay entre MySQL y MariaDB?

MariaDB es un fork de MySQL, pero la configuración es muy similar. El error y las soluciones son prácticamente las mismas.

¿Por qué mi web da este error solo en horas pico?

Porque el número de conexiones simultáneas aumenta con el tráfico. Es normal si tu sitio recibe muchos visitantes a la vez.

Conclusión y recomendaciones finales

El error too many connections mysql es molesto, pero tiene solución. Lo más importante es:

  1. Identificar la causa: ¿Es por tráfico, por malas consultas o por configuración?
  2. Aumentar el límite si es necesario: Pero no abuses, porque más conexiones consumen más memoria.
  3. Optimizar tu sitio: La mejor solución a largo plazo es reducir la necesidad de conexiones.
  4. Monitorear regularmente: Revisa tus conexiones activas de vez en cuando para anticiparte al problema.

[TIP] Si usas un hosting con Syspanel (antes conocido como HestiaCP), recuerda que el acceso se realiza por el puerto 2106. La configuración de MySQL es similar a la de DirectAdmin, pero con la ventaja de que Syspanel ofrece opciones de monitoreo más visuales.

Espero que esta guía te haya sido útil. Si el problema persiste después de aplicar estos pasos, no dudes en contactar con tu proveedor de hosting. Ellos tienen herramientas más avanzadas para diagnosticar el problema y aplicar soluciones a nivel de servidor.

Recuerda que la prevención es clave: mantén tu web optimizada, actualiza tus plugins y revisa periódicamente el rendimiento de tu base de datos. Así evitarás sustos y tu web funcionará de forma fluida incluso en los momentos de más tráfico.

¿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