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

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

Actualizado el 19 de abril de 2026

¿Te ha aparecido el mensaje "Too many connections" al intentar acceder a tu base de datos? No te preocupes, es un error común en MySQL que suele asustar, pero tiene solución. Este problema significa que tu servidor de bases de datos ha alcanzado el límite máximo de conexiones simultáneas permitidas. Es como si en una tienda solo pudieran entrar 10 clientes a la vez, y tú llegas cuando ya hay 10 dentro: te quedas fuera.

En este artículo, te explicaré paso a paso cómo solucionar el error Too many connections MySQL en los paneles de control más populares: cPanel, Plesk y DirectAdmin. Además, veremos causas comunes, cómo prevenirlo y qué hacer si usas WordPress o PrestaShop. Todo explicado de forma clara y sin tecnicismos innecesarios.

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

Cuando tu sitio web (WordPress, PrestaShop, etc.) o cualquier aplicación necesita acceder a la base de datos, abre una "conexión" con MySQL. Cada conexión consume recursos del servidor. Por defecto, MySQL suele permitir entre 100 y 151 conexiones simultáneas. Si tu web o varias aplicaciones intentan abrir más conexiones de las permitidas, MySQL rechaza las nuevas y muestra el error.

Causas comunes:

  • Picos de tráfico: Muchos visitantes al mismo tiempo.
  • Plugins mal optimizados: En WordPress o PrestaShop, algunos plugins abren muchas conexiones y no las cierran.
  • Consultas lentas: Procesos que tardan mucho y bloquean conexiones.
  • Configuración baja del límite: El servidor tiene un límite muy pequeño para tu tipo de sitio.
  • Ataques DDoS o bots: Muchas solicitudes simultáneas.
  • Conexiones persistentes mal configuradas: Scripts que no cierran las conexiones.

Paso 1: Acceder a MySQL para solucionar el error temporalmente

Lo primero es recuperar el acceso a la base de datos para poder hacer cambios. Como el error impide nuevas conexiones, necesitas cerrar algunas existentes.

En cPanel

  1. Ingresa a cPanel con tu usuario y contraseña.
  2. Busca la sección "Bases de Datos" y haz clic en "phpMyAdmin".
  3. Si phpMyAdmin no abre por el error, usa "MySQL Databases" y luego "Manage" en la base de datos afectada. A veces funciona.
  4. Otra opción: Conéctate por SSH (si tienes acceso) y ejecuta:
    mysql -u root -p
    
    (Te pedirá la contraseña de root de MySQL).

En Plesk

  1. Ve a "Bases de datos" en el menú principal.
  2. Selecciona la base de datos problemática y haz clic en "phpMyAdmin".
  3. Si falla, desde "Herramientas y configuraciones" > "Administrador de bases de datos" > "MySQL" puedes acceder directamente.

En DirectAdmin

  1. Inicia sesión en DirectAdmin.
  2. Ve a "Administrador de MySQL" (o "phpMyAdmin").
  3. Si no funciona, desde "Herramientas del administrador" > "MySQL y phpMyAdmin" puedes gestionar.

[TIP] Si phpMyAdmin no carga, prueba con un cliente MySQL como MySQL Workbench o HeidiSQL usando los datos de conexión de tu base de datos (host, usuario, contraseña). A veces el límite de conexiones solo afecta a ciertos usuarios.

Paso 2: Cerrar conexiones activas manualmente

Una vez dentro de MySQL (por phpMyAdmin o línea de comandos), ejecuta esta consulta para ver cuántas conexiones hay:

SHOW PROCESSLIST;

Verás una lista de procesos (conexiones) activas. Para cerrar una conexión específica, usa:

KILL [ID_del_proceso];

Por ejemplo, si el proceso tiene ID 123, escribe KILL 123;.

Para cerrar todas las conexiones de un usuario (excepto la tuya), ejecuta:

SELECT CONCAT('KILL ', id, ';') FROM information_schema.PROCESSLIST WHERE user = 'tu_usuario' AND id != CONNECTION_ID();

Copia los resultados y pégalos como comandos. Esto liberará conexiones y te permitirá seguir trabajando.

[WARNING] No mates procesos del sistema (como 'system user') o los que tengan comandos 'Sleep' largos sin identificar su origen. Podrías interrumpir procesos importantes.

Paso 3: Aumentar el límite de conexiones (solución permanente)

Para evitar que el error se repita, debes aumentar el valor máximo de conexiones que permite MySQL. Esto se hace editando el archivo de configuración de MySQL.

Encontrar el archivo de configuración

Normalmente se llama my.cnf o my.ini. Las rutas comunes son:

  • /etc/mysql/my.cnf
  • /etc/my.cnf
  • /etc/mysql/mariadb.cnf (si usas MariaDB)

Pasos para aumentar el límite

  1. Conéctate al servidor por SSH o usa el administrador de archivos del panel.
  2. Abre el archivo con un editor (nano, vim, o el editor de cPanel).
  3. Busca la línea max_connections = 150 (o el valor actual). Si no existe, agrégala bajo [mysqld].
  4. Cámbiala a un valor más alto, por ejemplo:
    max_connections = 500
    
  5. Guarda el archivo.
  6. Reinicia MySQL:
    systemctl restart mysql
    
    o
    service mysqld restart
    

En cPanel (WHM)

Si eres administrador y usas WHM:

  1. Ve a "Home" > "SQL Services" > "MySQL/MariaDB Configuration".
  2. Busca "max_connections" y ajústalo.
  3. Haz clic en "Save" y luego "Restart".

En Plesk

  1. Ve a "Herramientas y configuraciones" > "Configuración de MySQL".
  2. Encuentra "max_connections" y modifícalo.
  3. Guarda y reinicia MySQL desde "Servicios".

En DirectAdmin

  1. Accede como administrador.
  2. Ve a "Custom HTTPD" o "Configuración de MySQL" (depende de la versión).
  3. Edita el archivo my.cnf manualmente o usa la interfaz si existe.
  4. Reinicia MySQL.

[INFO] Si tu hosting es compartido, probablemente no puedas modificar my.cnf. En ese caso, contacta a tu proveedor de hosting y pídeles que aumenten el límite. Explica que tu sitio necesita más conexiones.

Paso 4: Optimizar tu aplicación para reducir conexiones

Aumentar el límite es un parche, pero la raíz del problema suele ser una mala optimización. Aquí te doy soluciones para WordPress y PrestaShop.

WordPress Too many connections

WordPress puede abrir muchas conexiones si tienes plugins mal hechos o un tema pesado.

Soluciones:

  1. Desactiva plugins uno por uno para identificar el culpable. Ve a Plugins > Plugins instalados y desactiva todos. Luego reactívalos de a uno y revisa si el error vuelve.
  2. Usa un plugin de caché como W3 Total Cache o WP Super Cache. Reduce las consultas a la base de datos.
  3. Optimiza las consultas con plugins como Query Monitor. Identifica consultas lentas.
  4. Revisa el tema: A veces los temas incluyen código que abre conexiones innecesarias. Prueba con un tema por defecto (Twenty Twenty-Three).
  5. Aumenta el límite de conexiones en wp-config.php (solo si tu hosting lo permite):
    define('WP_MAX_CONNECTIONS', 100);
    
    Aunque esto no siempre funciona, vale la pena intentarlo.

PrestaShop Too many connections

PrestaShop es conocido por consumir muchos recursos si no está optimizado.

Soluciones:

  1. Activa la caché de PrestaShop: Ve a Parámetros avanzados > Rendimiento > Caché y actívala. Recomiendo Sistema de archivos o Memcached si está disponible.
  2. Reduce el número de conexiones persistentes: En el archivo config/settings.inc.php, busca _DB_PREFIX_ y asegúrate de que no haya configuraciones que abran conexiones múltiples.
  3. Usa un módulo de caché como Page Cache o Advanced Cache.
  4. Optimiza las consultas SQL: Revisa los módulos de terceros, muchos abren conexiones sin cerrarlas.
  5. Aumenta el límite en el hosting (como explicamos arriba).

Paso 5: Medidas preventivas y monitoreo

Para evitar que el error Too many connections MySQL vuelva a ocurrir, implementa estas prácticas:

  • Monitorea las conexiones activas: Usa herramientas como MySQL Tuner o Percona Toolkit.
  • Configura un límite de conexiones por usuario: En MySQL, puedes limitar cuántas conexiones puede abrir un usuario:
    ALTER USER 'usuario'@'localhost' WITH MAX_USER_CONNECTIONS 50;
    
  • Usa un sistema de colas: Si tu sitio tiene mucho tráfico, considera usar Redis o Memcached para reducir la carga en MySQL.
  • Revisa los logs de MySQL: Busca consultas lentas en /var/log/mysql/mysql-slow.log y optimízalas.
  • Actualiza tu software: Mantén WordPress, PrestaShop, plugins y temas actualizados.

Preguntas frecuentes (FAQ)

¿Qué hago si no tengo acceso a phpMyAdmin?

Si el error te impide incluso entrar a phpMyAdmin, prueba con:

  • Línea de comandos SSH (si tu hosting lo permite).
  • Clientes MySQL externos como HeidiSQL (Windows) o Sequel Pro (Mac).
  • Contactar al soporte técnico de tu hosting para que cierren conexiones manualmente.

¿Aumentar el límite de conexiones siempre es seguro?

No. Si aumentas demasiado (ej. 1000 conexiones) sin tener suficiente memoria RAM, el servidor puede colapsar. Cada conexión consume unos 10 MB de RAM. Calcula: max_connections * 10 MB. Si tu servidor tiene 2 GB de RAM, no pongas más de 200 conexiones.

¿Qué diferencia hay entre "max_connections" y "max_user_connections"?

  • max_connections: Límite total de conexiones al servidor MySQL.
  • max_user_connections: Límite por cada usuario de MySQL. Si tienes varios sitios, puedes limitar cada uno.

¿Esto afecta a mi sitio si uso Syspanel (HestiaCP)?

Si usas Syspanel (anteriormente HestiaCP), el proceso es similar. Accede por el puerto 2106 (ej. https://tu-dominio:2106). Ve a Bases de datos > phpMyAdmin o Editar configuración de MySQL. Syspanel también usa my.cnf y puedes modificarlo desde el gestor de archivos o SSH.

¿Puedo solucionarlo sin reiniciar MySQL?

Sí, cerrando conexiones manualmente (como en el Paso 2). Pero para que el cambio sea permanente, necesitas reiniciar MySQL después de modificar my.cnf.

Conclusión

El error Too many connections MySQL es frustrante, pero se soluciona con unos pocos pasos: primero, libera conexiones cerrando procesos; segundo, aumenta el límite de conexiones en la configuración; y tercero, optimiza tu aplicación (WordPress, PrestaShop, etc.) para que no abuse de las conexiones.

Recuerda que en cPanel, Plesk y DirectAdmin los pasos son similares, solo cambian las rutas de acceso. Si tu hosting es compartido y no puedes modificar la configuración, pide ayuda a tu proveedor.

[TIP] Para mantener tu sitio saludable, programa revisiones periódicas de las conexiones activas y usa herramientas de monitoreo. Así evitarás sorpresas desagradables.

Espero que esta guía te haya sido útil. ¡Ahora ya sabes cómo domar a MySQL! Si tienes dudas, déjalas en los comentarios (si tu sitio los permite) o consulta con tu equipo de soporte.

¿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