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

Cómo arreglar el error 'Too many connections' en MySQL (WordPress y más)

Actualizado el 27 de mayo de 2026

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

Si estás leyendo esto, es muy probable que hayas visto un mensaje parecido a este en tu sitio web: "Error establishing a database connection" o, si tienes más experiencia, el mensaje crudo de MySQL: "Too many connections". No te preocupes, es uno de los errores más comunes en hosting y tiene solución.

Este aviso aparece cuando tu servidor de bases de datos MySQL (o MariaDB) ha alcanzado el límite máximo de conexiones simultáneas que tiene configurado. Imagina que tu base de datos es un restaurante con un número limitado de mesas. Cuando todas las mesas están ocupadas, los nuevos clientes tienen que esperar fuera. Si el restaurante está lleno y llegan más personas, el maître les dice: "Lo sentimos, no podemos atenderle ahora". Eso es exactamente lo que hace MySQL con tu web.

El error too many connections mysql es especialmente frustrante porque puede tumbar por completo tu sitio WordPress, una tienda online o cualquier aplicación que dependa de esa base de datos. La buena noticia es que casi siempre tiene solución, y en este artículo te voy a explicar paso a paso cómo diagnosticarlo y arreglarlo, incluso si no eres un experto técnico.

¿Por qué ocurre el error "Too many connections"?

Antes de lanzarnos a arreglar nada, es importante entender las causas. El error error mysql conexiones no aparece porque sí. Normalmente responde a una de estas situaciones:

  • Configuración demasiado baja: El límite por defecto de MySQL es de 151 conexiones. Si tu hosting no lo ha ajustado, puede quedarse corto para un sitio con tráfico medio-alto.
  • Consultas lentas o mal optimizadas: Si tu web tiene plugins de WordPress mal configurados o consultas SQL ineficientes, cada una de ellas puede mantener una conexión abierta durante más tiempo del necesario.
  • Picos de tráfico repentinos: Un artículo viral, una campaña de publicidad o un ataque de bots pueden saturar el servidor en cuestión de minutos.
  • Conexiones que no se cierran: A veces, aplicaciones o scripts mal programados no cierran las conexiones a la base de datos, dejándolas "colgadas" y consumiendo recursos.
  • Ataques de fuerza bruta o DDoS: Los atacantes pueden intentar abrir cientos de conexiones simultáneas para saturar tu servidor.

Identificar la causa exacta te ayudará a aplicar la solución más adecuada, pero no te agobies: vamos a ver cómo solucionarlo desde los métodos más simples hasta los más avanzados.

Paso 1: Verifica el problema (diagnóstico rápido)

Lo primero es confirmar que el problema es exactamente ese. Puedes hacerlo de dos maneras:

  1. Desde el panel de control de tu hosting (cPanel, Syspanel, Plesk, etc.): Busca la sección de "MySQL Databases" o "Database Status". Si hay un visor de procesos, podrás ver cuántas conexiones hay activas en ese momento.
  2. Desde la línea de comandos (SSH): Si tienes acceso SSH, escribe este comando:
    SHOW STATUS LIKE 'Threads_connected';
    
    Esto te mostrará el número de conexiones activas. También puedes comprobar el límite máximo con:
    SHOW VARIABLES LIKE 'max_connections';
    

Si el número de conexiones activas es muy cercano al límite (o igual), tienes el diagnóstico confirmado. Ahora toca actuar.

Paso 2: Solución inmediata (reiniciar MySQL)

Si tu web está caída y necesitas recuperarla ya, la solución más rápida es reiniciar el servicio de MySQL. Esto libera todas las conexiones colgadas y deja la base de datos limpia.

¿Cómo reiniciar MySQL desde cPanel?

  1. Accede a tu panel de control (cPanel).
  2. Busca la sección "Métricas de rendimiento" o "Gestión de servicios" (depende del proveedor).
  3. Localiza MySQL y haz clic en "Reiniciar".

¿Cómo reiniciar MySQL desde Syspanel (HestiaCP)?

Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar:

  1. Accede a Syspanel a través del puerto 2106 (por ejemplo: https://tu-dominio.com:2106).
  2. Ve a la pestaña de "Servicios" o "Servicios del sistema".
  3. Busca MySQL o MariaDB y haz clic en el botón de reiniciar.

[WARNING] Reiniciar MySQL es como apagar y encender el restaurante: los clientes que estaban dentro pierden su mesa. Esto significa que las consultas que estaban en curso se cancelarán. Es una solución temporal, no un arreglo definitivo.

Paso 3: Aumentar max_connections (la solución clásica)

Una vez que tu web vuelve a estar operativa, es hora de atacar el problema de raíz. La solución más directa es aumentar max_connections. Esto le dice a MySQL que permita más mesas en el restaurante.

Opción A: Aumentar max_connections desde cPanel

Si tu hosting es compartido y usas cPanel, la forma más sencilla es:

  1. Entra en cPanel.
  2. Busca la sección "Base de Datos MySQL".
  3. Dentro de esa sección, busca un enlace que diga "Configuración de MySQL" o "MySQL Variables".
  4. Localiza la variable max_connections.
  5. Cámbiala a un valor más alto. Por ejemplo, de 151 a 300 o 500. No te pases, porque un valor demasiado alto puede agotar la memoria del servidor.

[TIP] Si no encuentras esta opción en tu cPanel, es que tu proveedor de hosting no permite modificarla. En ese caso, tendrás que contactar con su soporte y pedirles que aumenten el límite. Es una petición muy común y suelen aceptarla sin problema.

Opción B: Aumentar max_connections desde SSH

Si tienes acceso SSH al servidor (ideal para VPS o servidores dedicados), el proceso es más técnico pero igual de sencillo:

  1. Conéctate por SSH.
  2. Abre el archivo de configuración de MySQL. La ruta suele ser /etc/mysql/my.cnf o /etc/my.cnf.
  3. Busca la sección [mysqld] y añade o modifica esta línea:
    max_connections = 500
    
    (Puedes usar el valor que prefieras).
  4. Guarda el archivo y reinicia MySQL:
    sudo systemctl restart mysql
    
    (O sudo service mysql restart en sistemas más antiguos).

Opción C: Aumentar max_connections desde Syspanel

Si usas Syspanel (HestiaCP) con puerto 2106:

  1. Accede a Syspanel (recuerda: https://tu-dominio.com:2106).
  2. Ve a "Configuración del servidor" o "Ajustes avanzados".
  3. Busca la sección de "MySQL".
  4. Ahí podrás modificar el valor de max_connections directamente desde la interfaz.
  5. Guarda los cambios y reinicia MySQL desde el mismo panel.

[INFO] Cada conexión MySQL consume aproximadamente entre 2 y 10 MB de RAM. Si aumentas el límite de 100 a 1000, podrías necesitar hasta 10 GB de memoria extra. Asegúrate de que tu servidor tiene suficiente RAM antes de hacer cambios drásticos.

Paso 4: Optimizar consultas y plugins (atajar el problema de raíz)

Aumentar el límite es como poner más mesas en el restaurante, pero si los cocineros son lentos, el problema volverá. La solución a largo plazo es optimizar tu sitio para que use menos conexiones y las libere más rápido.

Revisa tus plugins de WordPress

Los plugins mal codificados son la causa número uno de fugas de conexiones. Sigue estos pasos:

  1. Desactiva todos los plugins y comprueba si el error desaparece.
  2. Si desaparece, reactívalos uno a uno hasta encontrar al culpable.
  3. Cuando lo encuentres, busca una alternativa mejor codificada o contacta con el desarrollador.

Activa el caché

Un buen plugin de caché (como W3 Total Cache o WP Rocket) reduce drásticamente las consultas a la base de datos. Al servir páginas estáticas, tu web no necesita abrir una conexión MySQL en cada visita.

Limpia las tablas de la base de datos

Con el tiempo, tu base de datos se llena de basura: revisiones de entradas antiguas, transients caducados, comentarios spam... Esto hace que las consultas sean más lentas y mantengan las conexiones abiertas más tiempo. Puedes usar plugins como WP-Optimize para limpiarla fácilmente.

Paso 5: Configurar un sistema de colas para consultas

Otra técnica avanzada es usar ProxySQL o MySQL Router, que actúan como intermediarios entre tu aplicación y la base de datos. Estos sistemas gestionan las conexiones de forma más eficiente, reutilizándolas y poniendo las consultas en cola cuando el límite está cerca. Es una solución más compleja, pero muy efectiva para sitios con mucho tráfico.

Solucionar error base de datos: ¿qué hacer si nada funciona?

Si has probado todo lo anterior y el error persiste, es posible que el problema esté en el servidor en sí. En ese caso:

  1. Contacta con tu proveedor de hosting: Explícales que tienes el error too many connections mysql y que has intentado aumentar max_connections. Pregunta si hay algún límite a nivel de servidor o si necesitan ajustar otros parámetros como wait_timeout o max_user_connections.
  2. Considera migrar a un plan superior: Si tu sitio crece y el servidor se queda pequeño, puede ser el momento de pasar a un VPS o un servidor dedicado donde tengas control total.
  3. Revisa los logs: En cPanel, Syspanel o SSH, busca los logs de MySQL (suelen estar en /var/log/mysql/). Ahí verás patrones de error que te ayudarán a diagnosticar el problema.

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

¿Cuál es el valor recomendado para max_connections?

No hay una respuesta única. Depende de la RAM de tu servidor y del tráfico de tu web. Una regla general es: (RAM disponible en MB / 10). Si tienes 8 GB de RAM, podrías poner max_connections = 800. Pero empieza con un valor conservador y ve subiendo si es necesario.

¿Puedo aumentar max_connections en hosting compartido?

En la mayoría de los casos, no. Los hosts compartidos tienen configuraciones globales que no se pueden modificar por usuario. Tendrás que pedírselo al soporte técnico.

¿Qué diferencia hay entre max_connections y max_user_connections?

max_connections es el límite global del servidor. max_user_connections es el límite por usuario de MySQL. Si tienes varias aplicaciones usando el mismo usuario, puedes limitar cuántas conexiones puede abrir ese usuario en concreto.

¿El error "Too many connections" es un ataque de hackers?

No necesariamente. Puede ser un pico de tráfico legítimo, pero también puede ser un ataque DDoS o de fuerza bruta. Si sospechas de un ataque, revisa los logs de acceso y considera usar un firewall como Cloudflare.

¿Cómo puedo prevenir este error en el futuro?

  • Usa un plugin de caché.
  • Optimiza las consultas de tu base de datos.
  • Mantén WordPress, temas y plugins actualizados.
  • Monitoriza el uso de conexiones con herramientas como mysqltuner.
  • Configura alertas en tu panel de control para avisarte cuando el número de conexiones se acerque al límite.

Conclusión: el error tiene solución

El error too many connections mysql puede parecer aterrador, pero es un problema conocido con soluciones claras. Resumiendo lo que hemos visto:

  1. Diagnostica el problema confirmando el número de conexiones.
  2. Reinicia MySQL para recuperar tu web de inmediato.
  3. Aumenta max_connections desde cPanel, Syspanel o SSH.
  4. Optimiza tu sitio para reducir el número de conexiones necesarias.
  5. Contacta con tu hosting si el problema persiste.

Recuerda que la prevención es la mejor estrategia. Mantén tu base de datos limpia, usa caché y monitoriza tu servidor regularmente. Si sigues estos pasos, tu web estará preparada para soportar picos de tráfico sin volver a caerse por este error.

Y si en algún momento te sientes perdido, no dudes en consultar con tu proveedor de hosting. Están para ayudarte a solucionar error base de datos y cualquier otro problema técnico. ¡Buena suerte con tu sitio web!

¿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