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

Cómo resolver el error 'Too many connections' en MySQL para WordPress

Actualizado el 4 de marzo de 2026

¿Alguna vez has visto un mensaje como "Too many connections" en tu sitio WordPress y te has quedado congelado, pensando que tu web se ha roto? No te preocupes, es uno de los errores MySQL más comunes y, por suerte, tiene solución. En este artículo te explicaré paso a paso por qué ocurre y cómo solucionarlo para que tu base de datos vuelva a funcionar sin problemas.

Este error aparece cuando el número de conexiones activas a tu base de datos supera el límite máximo permitido por el servidor MySQL. Piensa en ello como un restaurante con un número limitado de mesas: si llegan más clientes de los que pueden atender, algunos se quedan fuera. En tu WordPress, esto provoca que el sitio se vuelva inaccesible o que muestre un error en pantalla.

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

El error "Too many connections" no surge de la nada. Normalmente, es el resultado de una acumulación de factores. Aquí te detallo las causas más frecuentes:

  • Picos de tráfico inesperados: Si tu web recibe una oleada de visitas simultáneas (por ejemplo, después de una publicación viral), cada visitante intenta abrir una conexión a la base de datos. Si el límite es bajo, se satura rápidamente.

  • Plugins mal optimizados: Algunos plugins de WordPress, especialmente los de caché, estadísticas o formularios de contacto, pueden abrir múltiples conexiones sin cerrarlas correctamente.

  • Consultas lentas o bloqueadas: Si alguna consulta MySQL tarda mucho en ejecutarse (por ejemplo, una búsqueda pesada), mantiene ocupada una conexión durante más tiempo del necesario.

  • Configuración del servidor demasiado restrictiva: El límite predeterminado en muchos servidores es de solo 150 conexiones. Para sitios con tráfico medio o alto, esto puede ser insuficiente.

  • Ataques DDoS o bots: Los ataques maliciosos pueden generar cientos de conexiones falsas, agotando el pool disponible.

[INFO] El límite de conexiones se define en el archivo de configuración de MySQL (my.cnf o my.ini). El valor por defecto suele ser 150, pero en entornos compartidos puede ser aún menor.

Soluciones paso a paso para eliminar el error

Voy a guiarte por las soluciones más efectivas, desde las más simples hasta las más técnicas. No necesitas ser un experto en bases de datos para aplicar la mayoría de ellas.

1. Aumentar el límite de conexiones en MySQL (solución inmediata)

La forma más directa de resolver el error es aumentar el número máximo de conexiones que MySQL permite. Esto se hace modificando el archivo de configuración.

En servidores con cPanel o panel similar (como Syspanel)

Si tu hosting usa Syspanel (recuerda que el puerto de acceso es el 2106), puedes hacerlo desde la interfaz o vía SSH. Te explico el método más común:

  1. Accede a tu servidor por SSH (necesitarás credenciales de root o de usuario con permisos sudo).

  2. Edita el archivo de configuración de MySQL. Normalmente se encuentra en /etc/mysql/my.cnf o /etc/my.cnf. Usa un editor como nano o vim:

    sudo nano /etc/mysql/my.cnf
    
  3. Busca la línea que dice max_connections. Si no existe, agrégala en la sección [mysqld]. Por ejemplo:

    max_connections = 500
    

    [TIP] No subas el valor de forma exagerada. 500 es un buen punto de partida para sitios con tráfico medio. Valores demasiado altos pueden consumir mucha memoria RAM.

  4. Guarda el archivo (Ctrl+O, luego Ctrl+X en nano) y reinicia el servicio MySQL:

    sudo systemctl restart mysql
    

    O si usas Syspanel, desde el panel de control puedes reiniciar el servicio de bases de datos.

  5. Verifica el cambio conectándote a MySQL y ejecutando:

    SHOW VARIABLES LIKE 'max_connections';
    

[WARNING] Si no tienes acceso SSH o no te sientes cómodo editando archivos, contacta con tu proveedor de hosting. Muchos permiten aumentar el límite desde el panel de control o mediante un ticket de soporte.

2. Identificar y cerrar conexiones activas manualmente

Si no puedes aumentar el límite de inmediato, puedes liberar conexiones cerrando las que están inactivas o bloqueadas.

  1. Conéctate a MySQL desde la línea de comandos o usando una herramienta como phpMyAdmin (disponible en la mayoría de paneles, incluido Syspanel).

  2. Ejecuta el siguiente comando para ver todas las conexiones activas:

    SHOW FULL PROCESSLIST;
    

    Esto te mostrará una tabla con el ID, usuario, host, base de datos, comando y tiempo de cada conexión.

  3. Identifica conexiones problemáticas: busca aquellas con un tiempo elevado en la columna Time o con estado Sleep durante muchos segundos. También las que ejecutan consultas lentas (comando Query con mucho tiempo).

  4. Mata las conexiones que no necesites usando su ID:

    KILL [ID_de_la_conexion];
    

    Por ejemplo: KILL 12345;

[INFO] Este método es un parche temporal. Las conexiones se volverán a acumular si no solucionas la causa raíz.

3. Optimizar WordPress para reducir conexiones

La mejor solución a largo plazo es optimizar tu sitio para que use menos conexiones simultáneas.

Usa un plugin de caché

Un buen plugin de caché (como W3 Total Cache, WP Super Cache o LiteSpeed Cache) genera páginas estáticas en HTML. Esto reduce drásticamente las consultas a la base de datos, ya que los visitantes reciben el contenido precargado.

Limita los plugins que abren conexiones

Revisa los plugins instalados y desactiva aquellos que no uses. Los que más problemas suelen dar son:

  • Plugins de estadísticas en tiempo real (como Jetpack o Google Analytics con seguimiento avanzado).
  • Plugins de formularios de contacto con muchas entradas.
  • Plugins de backups que se ejecutan con frecuencia.

Configura un límite de conexiones por usuario en WordPress

Puedes forzar a WordPress a cerrar conexiones no utilizadas añadiendo este código al archivo wp-config.php:

define('WP_MAX_CONNECTIONS', 10);

Esto limita el número de conexiones simultáneas que WordPress puede abrir. No es una solución mágica, pero ayuda a controlar picos.

4. Ajustar el timeout de conexiones en MySQL

Otra causa común es que las conexiones permanezcan abiertas demasiado tiempo en estado Sleep. Puedes reducir el tiempo de espera para que se cierren automáticamente.

  1. Edita el archivo my.cnf como en el paso 1.

  2. Agrega o modifica estos parámetros en la sección [mysqld]:

    wait_timeout = 60
    interactive_timeout = 60
    

    Esto hará que las conexiones inactivas se cierren después de 60 segundos (el valor predeterminado suele ser 28800 segundos, ¡8 horas!).

  3. Reinicia MySQL para aplicar los cambios.

[WARNING] Un timeout demasiado bajo puede causar que las conexiones se cierren mientras un usuario está realizando una acción, como subir un archivo grande. Ajusta el valor según tu caso (60-120 segundos suele ser seguro).

5. Monitorizar y escalar tu servidor

Si después de aplicar todo lo anterior el error persiste, es posible que tu sitio haya superado la capacidad de tu servidor actual.

Revisa los logs de MySQL

Los logs pueden darte pistas sobre qué consultas o qué plugins están generando más conexiones. Habilita el log lento de consultas:

SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;

Luego revisa el archivo de log (normalmente en /var/log/mysql/mysql-slow.log).

Considera migrar a un servidor más potente

Si tu tráfico es alto y constante, plantéate:

  • Actualizar a un plan de hosting con más recursos (más RAM, CPU y límite de conexiones).
  • Usar un servidor VPS o dedicado donde puedas controlar todos los parámetros.
  • Implementar un balanceador de carga o una CDN para distribuir el tráfico.

Preguntas frecuentes (FAQ)

1. ¿El error "Too many connections" puede dañar mi base de datos?
No, el error solo impide nuevas conexiones. No corrompe los datos. Una vez que liberas conexiones o aumentas el límite, todo vuelve a la normalidad.

2. ¿Puedo solucionarlo sin acceso SSH?
Sí, si tu hosting tiene phpMyAdmin (como en Syspanel), puedes matar conexiones manualmente. También puedes contactar al soporte técnico para que aumenten el límite.

3. ¿Cuánto es un límite seguro de conexiones?
Depende de tu servidor. Un sitio pequeño con 500 visitas diarias puede funcionar con 150 conexiones. Uno con 10,000 visitas diarias puede necesitar 500 o más. Monitorea el uso de RAM.

4. ¿Los plugins de seguridad ayudan?
Sí, algunos plugins de seguridad (como Wordfence o Sucuri) pueden bloquear ataques DDoS que generan conexiones falsas. Pero no solucionan el problema de raíz si el límite es bajo.

5. ¿Qué hago si el error aparece después de instalar un plugin?
Desactiva ese plugin inmediatamente. Si el error desaparece, el plugin es el culpable. Búscate una alternativa mejor optimizada.

Conclusión

El error "Too many connections" en MySQL para WordPress es molesto, pero no es el fin del mundo. Siguiendo estos pasos podrás solucionarlo rápidamente: primero, libera conexiones manualmente o aumenta el límite; después, optimiza tu sitio con caché y revisa tus plugins; por último, si el problema persiste, plantéate escalar tu servidor.

Recuerda que la prevención es clave: monitoriza tu base de datos periódicamente y mantén tu WordPress actualizado. Si usas Syspanel, aprovecha las herramientas de gestión que ofrece (acceso por puerto 2106) para revisar el estado de tu servidor.

¿Sigues teniendo dudas? Déjalas en los comentarios y te ayudaré a resolverlas. ¡Tu web merece estar siempre online!

¿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