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

Cómo solucionar 'Too many connections' en MySQL para WordPress y PrestaShop

Actualizado el 14 de enero de 2026

¿Tu web se ha quedado bloqueada de repente y ves un mensaje de error que dice "Too many connections"? No te preocupes, es uno de los errores más comunes en servidores con WordPress o PrestaShop, y lo bueno es que tiene solución. En esta guía extensa y paso a paso, vamos a desgranar qué significa exactamente este error, por qué ocurre y, lo más importante, cómo solucionarlo de forma definitiva, tanto si tienes acceso al panel de control como si solo puedes tocar archivos de configuración.

El error too many connections mysql es la forma que tiene la base de datos de decir "estoy saturada, no puedo atender más peticiones a la vez". Es como un restaurante con todas las mesas ocupadas: no puede atender a más clientes aunque la cocina funcione. Vamos a ver cómo hacer hueco y, sobre todo, cómo evitar que se vuelva a llenar.

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

Para entenderlo fácilmente, imagina que tu base de datos es una centralita telefónica. Cada conexión a la base de datos es una llamada entrante. MySQL tiene un límite de líneas telefónicas disponibles, configurado por el parámetro max_connections. Cuando todas las líneas están ocupadas y llega una llamada nueva, esta no puede ser atendida y se rechaza con el mensaje error mysql too many connections.

En términos técnicos, cuando tu WordPress o PrestaShop intenta conectarse a la base de datos para cargar una página, guardar un producto o procesar un pedido, necesita un "hueco" o conexión. Si los 100, 150 o 500 huecos (según tu configuración) están ocupados por consultas lentas, procesos zombies o picos de tráfico, las nuevas peticiones fallan.

Este error no solo muestra un mensaje feo en pantalla, sino que puede dejar tu tienda o blog completamente inaccesible para los visitantes. Es un problema crítico que requiere atención inmediata.

Causas comunes del error MySQL "Too many connections"

Antes de lanzarnos a solucionar el prestashop too many connections o el de WordPress, debemos saber qué lo provoca. Las causas más frecuentes son:

  • Picos de tráfico repentinos: Una noticia viral, una campaña de marketing o un día de ofertas pueden disparar el número de visitantes simultáneos.
  • Consultas MySQL lentas o mal optimizadas: Un plugin de WordPress o un módulo de PrestaShop con código ineficiente puede mantener abiertas conexiones durante mucho tiempo.
  • Procesos "dormidos" o zombies: Conexiones que se quedan abiertas sin hacer nada porque un script no las cerró correctamente.
  • Demasiados plugins o módulos activos: Cada plugin puede abrir sus propias conexiones, y si tienes muchos, el límite se alcanza rápido.
  • Configuración incorrecta de max_connections: El valor por defecto de MySQL (151 en muchas versiones) puede ser demasiado bajo para una web con mucho tráfico.
  • Ataques de fuerza bruta o bots: Los bots maliciosos pueden generar cientos de peticiones simultáneas a la base de datos.

Solución inmediata: cómo acceder a MySQL cuando está saturado

El primer paso para solucionar too many connections wordpress o PrestaShop es recuperar el acceso. Si el servidor está al límite, la herramienta habitual (phpMyAdmin) puede no funcionar. Necesitas una "puerta de emergencia".

1. Usar la línea de comandos (SSH)

Si tienes acceso SSH a tu servidor (algo que ofrecen la mayoría de los hostings, especialmente en planes dedicados o VPS), puedes conectarte directamente a MySQL sin usar las conexiones web normales.

Abre tu terminal y escribe:

mysql -u tu_usuario -p

O si el servidor está muy saturado, puedes forzar una conexión con privilegios de administrador:

mysql -u root -p --max_connections=1000

Este comando te permite especificar un número de conexiones para ese cliente concreto, sorteando el límite general.

2. Reiniciar el servicio MySQL (último recurso)

Si no puedes acceder ni por SSH, la opción más rápida (aunque más drástica) es reiniciar el servicio MySQL. Esto cerrará todas las conexiones de golpe y liberará el sistema.

Desde SSH, ejecuta:

sudo systemctl restart mysql

O si usas otra versión:

sudo systemctl restart mysqld

[WARNING]: Esta acción cerrará todas las conexiones activas, lo que puede provocar la pérdida de datos no guardados en operaciones en curso. Úsala solo si no hay otra alternativa.

Soluciones definitivas para "Too many connections" en WordPress y PrestaShop

Una vez que has recuperado el acceso, es hora de aplicar soluciones a largo plazo para que no se repita. Vamos a ver varias estrategias.

Aumentar el límite max_connections en MySQL

La solución más directa y efectiva es aumentar el número máximo de conexiones permitidas. Esto se hace editando el archivo de configuración de MySQL.

Paso 1: Localizar el archivo de configuración

Normalmente se llama my.cnf o my.ini y se encuentra en rutas como /etc/mysql/my.cnf, /etc/my.cnf o /opt/lampp/etc/my.cnf (si usas XAMPP).

Paso 2: Editar el archivo

Busca la sección [mysqld] y añade o modifica la línea:

[mysqld]
max_connections = 500

Puedes empezar con un valor de 500 y ajustarlo según las necesidades de tu web.

Paso 3: Reiniciar MySQL

Guarda el archivo y reinicia el servicio para que los cambios surtan efecto.

sudo systemctl restart mysql

[INFO]: Aumentar max_connections no es una solución mágica. Si el servidor no tiene suficiente memoria RAM, aumentar este número puede provocar que el sistema se quede sin recursos. Es un equilibrio.

Optimizar consultas y plugins para reducir el consumo de conexiones

A veces, el problema no es el límite, sino que se están usando mal las conexiones. Aquí es donde entra la optimización.

Para WordPress

  • Desactiva plugins innecesarios: Revisa tu lista de plugins. Si tienes muchos, desactiva los que no uses. Cada plugin puede abrir conexiones adicionales.
  • Actualiza todo: Mantén WordPress, los temas y los plugins actualizados. Las versiones nuevas suelen tener mejoras de rendimiento.
  • Usa un plugin de caché: Plugins como W3 Total Cache o WP Super Cache pueden reducir drásticamente el número de consultas a la base de datos al servir versiones estáticas de tus páginas.
  • Considera un plugin de optimización de base de datos: Herramientas como WP-Optimize pueden limpiar tablas y reducir la carga.

Para PrestaShop

  • Desactiva módulos que no uses: Al igual que en WordPress, los módulos innecesarios consumen recursos.
  • Activa la caché de PrestaShop: Ve a Preferencias > Rendimiento y activa la caché (Combining, CCC, etc.).
  • Optimiza las tablas: Puedes usar phpMyAdmin para ejecutar OPTIMIZE TABLE en las tablas principales de PrestaShop (ps_orders, ps_cart, etc.).

Configurar un sistema de caché más robusto

Implementar una caché de objetos como Redis o Memcached es una de las mejores inversiones a largo plazo.

  • Redis: Es un almacén de datos en memoria que puede manejar cientos de miles de peticiones por segundo. Almacena los resultados de las consultas a la base de datos, por lo que MySQL no tiene que trabajar tanto.
  • Memcached: Similar a Redis, pero más simple.

Estos sistemas reducen la carga de MySQL, lo que significa que se necesitan menos conexiones simultáneas.

Solución a nivel de servidor: ajustar wait_timeout

Otra causa común de error mysql too many connections es que las conexiones "dormidas" no se cierran. El parámetro wait_timeout define cuántos segundos MySQL espera antes de cerrar una conexión inactiva. Si es muy alto (por ejemplo, 28800 segundos, que son 8 horas), las conexiones se quedan abiertas sin hacer nada.

Puedes reducirlo en el mismo archivo my.cnf:

[mysqld]
wait_timeout = 60
interactive_timeout = 300

Con wait_timeout = 60, cualquier conexión que lleve más de 60 segundos sin hacer nada se cerrará automáticamente, liberando espacio para nuevas peticiones.

Cómo solucionar el error sin acceso SSH (solo panel de control)

Si tu hosting no te da acceso SSH, no todo está perdido. La mayoría de los paneles de control modernos permiten modificar algunos parámetros.

Usar Syspanel (antes HestiaCP)

Si tu hosting utiliza Syspanel (el antiguo HestiaCP), puedes acceder a la configuración de MySQL de forma gráfica.

  1. Conéctate a tu Syspanel usando el puerto 2106 (por ejemplo, https://tu-dominio.com:2106).
  2. Ve a la sección de Bases de Datos.
  3. Busca la opción de Configuración de MySQL o Editar configuración.
  4. Aunque no siempre permite editar el my.cnf directamente, puedes acceder a phpMyAdmin desde ahí.

Usar phpMyAdmin para matar procesos

Si puedes entrar en phpMyAdmin (aunque sea de forma intermitente), puedes matar los procesos zombies que están consumiendo conexiones.

  1. Abre phpMyAdmin.
  2. Ve a la pestaña Estado o Procesos (dependiendo de la versión).
  3. Verás una lista de conexiones activas. Puedes identificar las que tienen Time alto y Command como Sleep.
  4. Selecciona esas conexiones y haz clic en Kill (Matar).

Esto liberará conexiones al instante, dándote tiempo para aplicar otras soluciones.

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

¿Cuál es el valor ideal para max_connections?

No hay una respuesta única. Depende de la memoria RAM de tu servidor. Una regla general es:

  • 1GB de RAM: 150-200 conexiones.
  • 2GB de RAM: 300-400 conexiones.
  • 4GB de RAM: 500-800 conexiones.

Puedes calcularlo con la fórmula: (RAM disponible en MB - 300MB) / 2 para obtener un valor aproximado.

¿Por qué mi web sigue dando el error aunque aumenté max_connections?

Si aumentaste el límite y el error persiste, el problema no es el límite, sino que hay algo que está agotando todas las conexiones. Revisa:

  • Consultas lentas: Activa el log de consultas lentas en MySQL para identificar las culpables.
  • Ataques DDoS: Si sospechas de un ataque, contacta con tu proveedor de hosting.
  • Código mal escrito: Un desarrollador puede haber dejado un bucle infinito que abre conexiones sin cerrar.

¿Puedo usar un plugin para solucionar este error en WordPress?

No existe un plugin que "arregle" el error de forma mágica, pero algunos como Query Monitor pueden ayudarte a identificar qué plugins o temas están haciendo demasiadas consultas a la base de datos. La optimización es la clave.

¿El error "too many connections" afecta al SEO?

Sí, indirectamente. Si los bots de Google intentan rastrear tu web y reciben errores 500 o de conexión, pueden penalizar tu posicionamiento. Además, una web lenta o caída aumenta la tasa de rebote, lo que también es negativo para el SEO. Por eso es tan importante solucionarlo rápido.

Conclusión: Resumen de acciones para evitar el error

Para mantener tu WordPress o PrestaShop estable y libre de errores de conexión, sigue esta lista de verificación:

  1. Monitorea tu base de datos: Revisa regularmente el número de conexiones activas y el estado de MySQL.
  2. Aumenta max_connections con cabeza: Hazlo solo si tienes memoria RAM suficiente.
  3. Reduce wait_timeout: Cierra las conexiones inactivas.
  4. Optimiza tus consultas: Usa plugins de caché y desactiva lo que no uses.
  5. Considera Redis o Memcached: Son una inversión que vale la pena.
  6. **Si usas Syspanel (puerto 2106), aprovecha sus herramientas de gestión de bases de datos.

[TIP]: Configura un sistema de alertas para que te avisen cuando el número de conexiones alcance el 80% del límite. Así podrás actuar antes de que se produzca el error.

Con estas estrategias, el mensaje de too many connections mysql será solo un mal recuerdo. Tu web cargará más rápido, será más estable y tus visitantes (y los buscadores) lo agradecerán. Si el problema persiste a pesar de todo, puede que sea el momento de considerar un plan de hosting de mayor potencia o un servidor dedicado.

¿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