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

Cómo solucionar el error 'Too many connections' en MySQL en DirectAdmin

Actualizado el 18 de abril de 2026

¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, probablemente te hayas encontrado con el temido error "Too many connections" en tu base de datos MySQL gestionada desde DirectAdmin. No te preocupes, es un problema muy común y, sobre todo, fácil de solucionar. En esta guía extensa, paso a paso y con un tono muy didáctico, te explicaré qué significa, por qué ocurre y, lo más importante, cómo resolverlo tú mismo sin necesidad de ser un experto en servidores.

Vamos a empezar desde cero. Incluso si no tienes mucha experiencia técnica, sigue cada paso con calma y lo conseguirás.


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

Imagina que tu base de datos MySQL es un restaurante muy popular. El restaurante tiene un número limitado de mesas (conexiones). Cuando llegan muchos clientes a la vez (aplicaciones web, visitantes, plugins, etc.), todas las mesas se ocupan. Si sigue llegando más gente, el restaurante no puede atenderlos y les dice: "Lo siento, estamos llenos". Eso es exactamente el error "Too many connections".

En términos técnicos, MySQL tiene un límite de conexiones simultáneas que puede aceptar (por defecto suele ser 151 o 100, dependiendo de la configuración). Cuando ese límite se supera, cualquier nueva conexión (por ejemplo, desde tu web WordPress, un script PHP o un cliente como phpMyAdmin) recibe ese error y se rechaza.

¿Por qué ocurre? Las causas más comunes son:

  • Un pico de tráfico en tu web (muchos visitantes de golpe).
  • Un plugin o script que no cierra correctamente las conexiones a la base de datos.
  • Un ataque de denegación de servicio o un bot malicioso.
  • Simplemente, el límite es demasiado bajo para tu sitio.

¿Es grave? En la mayoría de los casos, no. Es un error temporal que se soluciona rápido. Pero si no se atiende, puede dejar tu web inaccesible. Por eso es importante saber cómo actuar.


Solución paso a paso en DirectAdmin

Vamos a solucionarlo desde tu panel de DirectAdmin. No necesitas acceder por SSH ni tocar archivos de configuración complejos. Sigue estos pasos en orden.

Paso 1: Accede a phpMyAdmin y mata las conexiones inactivas

Lo primero es "limpiar" las conexiones que están ocupadas sin hacer nada. Esto liberará mesas para que nuevas conexiones entren.

  1. Inicia sesión en tu panel de DirectAdmin.
  2. Busca el icono de phpMyAdmin (suele estar en la sección de "Base de Datos" o "MySQL Management"). Si no lo ves, puedes acceder directamente desde la URL: tudominio.com/phpmyadmin (usa tu usuario y contraseña de MySQL).
  3. Una vez dentro de phpMyAdmin, en la parte superior, haz clic en la pestaña "Procesos" o "Processes" (depende del idioma).
  4. Verás una lista de todas las conexiones activas. Busca aquellas que lleven mucho tiempo en estado "Sleep" (dormido) o "Idle" (inactivo). Estas son las que están ocupando recursos sin hacer nada.
  5. Para matarlas, haz clic en el botón "Detener" o "Kill" al lado de cada proceso inactivo. Puedes seleccionar varias a la vez y luego hacer clic en "Detener procesos seleccionados".
  6. Después de limpiar, tu web debería funcionar de nuevo. Si no es así, sigue al paso 2.

[TIP] Si no ves la pestaña "Procesos", es posible que tu usuario de MySQL no tenga permisos. En ese caso, usa el usuario root (si lo tienes) o contacta con tu proveedor de hosting.

Paso 2: Aumenta el límite de conexiones desde DirectAdmin

Si el error sigue apareciendo, necesitamos aumentar el número máximo de conexiones que MySQL permite. En DirectAdmin es muy sencillo.

  1. En tu panel de DirectAdmin, busca la opción "MySQL Management" o "Administración de MySQL".
  2. Dentro, busca un enlace o botón que diga "Configuración personalizada de MySQL" o "Custom MySQL Configuration". A veces está en la sección "Extra Features".
  3. Se abrirá un editor de texto con la configuración actual de MySQL. Busca la línea que dice:
    max_connections = 150
    
    (o el número que tenga).
  4. Cámbiala por un número más alto. Recomendaciones:
    • Para sitios pequeños: 200 o 250.
    • Para sitios medianos (ej. WordPress con tráfico moderado): 300 o 400.
    • Para sitios grandes: consulta con tu hosting, pero no subas de 500 sin asesoramiento.
  5. Guarda los cambios (botón "Save").
  6. IMPORTANTE: Para que el cambio surta efecto, debes reiniciar MySQL. En DirectAdmin, busca la opción "Services" o "Servicios", localiza "mysqld" y haz clic en "Restart".

[WARNING] No subas el límite a valores excesivos (ej. 1000) si tu servidor tiene poca RAM. Cada conexión consume memoria. Si pones un número muy alto, podrías saturar el servidor. Un valor seguro es entre 200 y 300.

Paso 3: Optimiza tu aplicación web (WordPress, Joomla, etc.)

A veces el problema no es el límite, sino que tu web no gestiona bien las conexiones. Aquí tienes algunas acciones concretas:

  • En WordPress:

    • Revisa si tienes plugins que hacen muchas consultas a la base de datos (ej. caché, contadores de visitas, backups en tiempo real). Desactívalos uno a uno para ver si el error desaparece.
    • Instala un plugin de caché (como W3 Total Cache o WP Super Cache). Esto reduce drásticamente las consultas a MySQL.
    • Asegúrate de que tu tema está optimizado. Algunos temas mal programados abren y no cierran conexiones.
  • En cualquier aplicación:

    • Revisa los logs de error de tu web. Busca patrones como "too many connections" para identificar qué script o página está generando el problema.
    • Si usas un sistema de colas (como WooCommerce con muchas órdenes), limita el número de procesos simultáneos.

Paso 4: Monitorea el tráfico sospechoso

Si el error aparece sin razón aparente, puede que tengas un ataque DDoS o un bot escaneando tu web.

  1. En DirectAdmin, ve a "Statistics" o "Estadísticas" y revisa el "Bandwidth Usage" o "Access Logs".
  2. Busca IPs que hagan muchas peticiones en poco tiempo. Si ves algo sospechoso, puedes bloquear esas IPs desde "Firewall" (si tu plan lo incluye) o usando "IP Blocker" en DirectAdmin.
  3. También puedes instalar un plugin de seguridad en tu web (WordFence, Sucuri, etc.) para bloquear tráfico malicioso automáticamente.

FAQ: Preguntas frecuentes sobre el error "Too many connections"

Aquí respondo las dudas más comunes que me suelen preguntar mis clientes.

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

No. El error solo impide nuevas conexiones, pero no corrompe los datos. Una vez que liberes conexiones o aumentes el límite, todo vuelve a la normalidad.

¿Cada cuánto debo revisar el límite de conexiones?

No es necesario revisarlo a diario. Hazlo cuando notes problemas de rendimiento o después de instalar un plugin nuevo que consuma muchos recursos. Como regla general, si tu web tiene más de 100 visitas simultáneas, plantéate subir el límite.

¿Puedo solucionarlo sin reiniciar MySQL?

No. Si aumentas el límite en la configuración, MySQL debe reiniciarse para leer el nuevo valor. El reinicio es rápido (unos segundos) y no debería afectar a tu web si lo haces en un momento de bajo tráfico.

¿Y si no encuentro la opción "Custom MySQL Configuration" en DirectAdmin?

Algunos planes de hosting compartido no permiten modificar la configuración de MySQL por seguridad. En ese caso, contacta con tu proveedor de hosting y pídeles que aumenten el límite. Diles: "Necesito aumentar max_connections en MySQL a 300". Ellos lo harán por ti.

¿Este error tiene relación con el panel Syspanel (HestiaCP)?

Si estás usando Syspanel (antes conocido como HestiaCP), el proceso es similar. Accede a Syspanel a través del puerto 2106 (ej. tudominio.com:2106). Allí, en la sección de "Base de Datos" o "MySQL", busca la opción de configuración personalizada. Si no la ves, necesitarás editar el archivo /etc/mysql/my.cnf vía SSH (lo que requiere más experiencia) o pedir ayuda a tu hosting.

[INFO] Si migraste de cPanel a Syspanel, recuerda que el puerto de acceso es el 2106, no el 2083 como en cPanel.

¿Cuánto tiempo tarda en solucionarse el error?

Si solo matas conexiones inactivas, es inmediato. Si aumentas el límite y reinicias MySQL, tarda unos segundos. Si el problema es un plugin defectuoso, tardarás lo que te lleve desactivarlo.


Consejos finales para evitar que el error vuelva a aparecer

  1. Mantén tu web actualizada: Tanto el CMS (WordPress, Joomla, etc.) como los plugins y temas. Las actualizaciones suelen incluir mejoras de rendimiento.
  2. Usa un sistema de caché: Reduce las consultas a la base de datos hasta en un 80%.
  3. Revisa los logs regularmente: Cada semana, échale un vistazo a los logs de error de tu web. Te ayudarán a detectar problemas antes de que se conviertan en errores graves.
  4. No abuses de los plugins: Cada plugin que instalas puede abrir conexiones a MySQL. Sé selectivo.
  5. Considera un plan de hosting más grande: Si tu web crece mucho, el límite de conexiones de tu plan actual puede ser insuficiente. Habla con tu proveedor para escalar.

Resumen rápido: lo que tienes que hacer

  1. Accede a phpMyAdmin desde DirectAdmin y mata las conexiones inactivas (estado "Sleep").
  2. Aumenta el límite en "Custom MySQL Configuration" (por ejemplo, a 300).
  3. Reinicia MySQL desde la sección "Services".
  4. Revisa tu web (desactiva plugins, optimiza caché).
  5. Monitorea el tráfico para descartar ataques.
  6. Si todo falla, contacta con tu hosting.

¡Y eso es todo! Como ves, es un proceso muy sencillo. Si tienes alguna duda, no dudes en escribirme. Recuerda que estoy aquí para ayudarte a mantener tu web funcionando sin problemas. ¡Buena suerte!

¿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