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

Cómo arreglar el error 'max_user_connections' en bases de datos MySQL (cPanel, Plesk, DirectAdmin)

Actualizado el 7 de noviembre de 2025

¿Qué significa el error "max_user_connections"?

Si estás leyendo esto, probablemente has visto un mensaje parecido a este en tu web o en tu panel de control:

"User 'usuario_tuweb' has exceeded the 'max_user_connections' resource (current value: 30)"

O también puede aparecer como:

"Too many connections"

Este error es más común de lo que parece y, aunque asusta, tiene solución. Vamos a explicarlo de forma sencilla.

Imagina que tu base de datos MySQL es una tienda con un número limitado de puertas de entrada. Cada vez que tu web necesita leer o guardar información (un producto, un comentario, un usuario), abre una de esas puertas. Si tu web intenta abrir más puertas de las permitidas al mismo tiempo, el sistema le dice "no cabes, espera". Eso es exactamente el error max_user_connections.

El valor por defecto en la mayoría de los hostings compartidos suele estar entre 10 y 30 conexiones simultáneas por usuario. Cuando superas ese límite, MySQL bloquea nuevas conexiones para proteger el servidor.


¿Por qué ocurre este error en mi hosting?

Antes de lanzarte a cambiar configuraciones, es importante entender por qué está pasando. Las causas más habituales son:

  1. Un plugin de WordPress mal configurado (por ejemplo, uno de caché o de optimización de base de datos).
  2. Un script con fugas de conexiones: programas que abren conexiones a MySQL y no las cierran correctamente.
  3. Demasiados procesos en segundo plano: cron jobs mal programados que se ejecutan a la vez.
  4. Picos de tráfico repentinos: si tu web recibe una oleada de visitas, cada una puede intentar abrir su propia conexión.
  5. Consultas lentas: si una consulta tarda mucho, ocupa una "puerta" durante más tiempo del necesario.
  6. Ataques de fuerza bruta o bots: algunos bots maliciosos pueden generar cientos de conexiones simultáneas.

Soluciones paso a paso para cPanel

1. Reinicia tu base de datos (solución rápida temporal)

Si el error aparece de repente y necesitas que tu web vuelva a funcionar ya, la solución más rápida es:

  1. Accede a cPanel.
  2. Busca la sección "Bases de datos MySQL".
  3. Haz clic en "MySQL® Databases".
  4. Localiza tu base de datos y haz clic en "Reparar" o en el icono de refrescar.

[WARNING] Esto solo alivia el problema temporalmente. Si no corriges la causa raíz, el error volverá a aparecer en cuestión de horas o días.

2. Identifica qué script está causando el problema

En cPanel, ve a "Registros de errores" o "Estadísticas de errores" en la sección de métricas. Busca entradas que mencionen max_user_connections y fíjate en la hora exacta en que ocurrió. Luego revisa qué estaba haciendo tu web en ese momento (un plugin, un cron, etc.).

3. Optimiza las consultas de tu aplicación

Si usas WordPress, instala un plugin como Query Monitor para ver qué consultas se están ejecutando y cuánto tardan. Busca consultas que se repitan muchas veces o que tarden más de 1 segundo.

4. Aumenta el límite desde cPanel (si tu hosting lo permite)

Algunos hostings te dejan modificar este valor:

  1. En cPanel, busca "MultiPHP INI Editor" o "Configuración de PHP".
  2. Aunque normalmente este ajuste está en my.cnf, algunos paneles lo exponen.
  3. Si no lo ves, contacta con tu proveedor y pide que aumenten max_user_connections a 50 o 100.

[INFO] Si tu plan es de hosting compartido, el proveedor puede negarse a aumentarlo por motivos de estabilidad del servidor. En ese caso, las soluciones de optimización son tu mejor opción.


Soluciones paso a paso para Plesk

1. Accede a la configuración de MySQL

En Plesk, el proceso es un poco diferente:

  1. Ve a "Herramientas y ajustes".
  2. Busca "Configuración de MySQL" o "Servidor de bases de datos".
  3. En la pestaña de "Configuración", busca el parámetro max_user_connections.

2. Modifica el valor directamente

Si tienes acceso de administrador en Plesk:

  1. Edita el archivo my.cnf (normalmente en /etc/mysql/ o /etc/my.cnf).
  2. Busca la línea max_user_connections = 30.
  3. Cámbiala por max_user_connections = 100.
  4. Guarda el archivo y reinicia MySQL con:
systemctl restart mysql

[WARNING] Si no te sientes cómodo con la línea de comandos, mejor pide ayuda a tu proveedor. Un error en my.cnf puede dejar tu base de datos inaccesible.

3. Usa la monitorización de Plesk

Plesk tiene una herramienta de "Monitor de salud" que te muestra cuántas conexiones activas tiene cada base de datos. Úsala para detectar qué base de datos está consumiendo más recursos.


Soluciones paso a paso para DirectAdmin

1. Accede a la configuración de MySQL

En DirectAdmin:

  1. Ve a "Administrador de MySQL".
  2. Busca la opción "Configuración de MySQL" o "Ajustes de conexión".
  3. Localiza max_user_connections.

2. Cambia el valor desde el panel

DirectAdmin suele permitir cambios directos:

  1. Cambia el valor de max_user_connections a un número mayor.
  2. Guarda los cambios.
  3. Reinicia MySQL desde el mismo panel o con:
service mysql restart

3. Controla los procesos activos

En DirectAdmin, ve a "Procesos" o "Monitor de procesos". Ahí verás cuántas conexiones MySQL hay activas en tiempo real. Si ves que una IP o un script tiene muchas conexiones, es tu sospechoso principal.


Soluciones para Syspanel (antes HestiaCP)

Si usas Syspanel (recuerda, el puerto de acceso es el 2106), el proceso es similar:

  1. Accede a Syspanel con https://tu-dominio.com:2106.
  2. Ve a "Bases de datos".
  3. Selecciona tu base de datos y haz clic en "Ajustes avanzados".
  4. Aunque Syspanel no expone directamente max_user_connections, puedes editarlo vía SSH:
nano /etc/mysql/my.cnf

Y añade o modifica:

[mysqld]
max_user_connections = 50

[INFO] Recuerda que Syspanel usa el puerto 2106 para su panel de control. Si tienes dudas, consulta la documentación oficial de Syspanel.


Cómo optimizar tu aplicación para no superar el límite

Cambiar el límite está bien, pero lo ideal es que tu aplicación no necesite tantas conexiones. Aquí tienes trucos que funcionan:

1. Activa el caché de consultas

Si usas WordPress, instala W3 Total Cache o WP Super Cache. Esto reduce drásticamente las consultas a MySQL.

2. Usa un plugin de optimización de base de datos

WP-Optimize o Advanced Database Cleaner pueden eliminar datos basura y optimizar las tablas.

3. Revisa tus cron jobs

En cPanel, ve a "Trabajos Cron" y mira si hay tareas que se ejecutan cada minuto. Si tienes varias, espácialas.

4. Cierra conexiones en tu código

Si tienes un script propio, asegúrate de cerrar las conexiones con mysqli_close() o PDO::close() cuando termines de usarlas.

5. Usa un pool de conexiones

Para aplicaciones avanzadas, herramientas como ProxySQL o PgBouncer (para PostgreSQL) gestionan las conexiones de forma eficiente.


Preguntas frecuentes sobre "max_user_connections"

¿Qué significa exactamente "max_user_connections"?

Es el número máximo de conexiones simultáneas que un solo usuario de MySQL puede tener abiertas. Si tu web usa el usuario admin_web, ese usuario no puede tener más de X conexiones a la vez.

¿Cuál es el valor recomendado?

Para un hosting compartido, 30 es un buen punto de partida. Si tu web tiene mucho tráfico, 50 o 100 es más razonable. Pero recuerda: no se trata solo de subir el número, sino de optimizar tu web para que no necesite tantas.

¿Este error afecta solo a mi web o a todas las del servidor?

Solo a tu web y a tu usuario de MySQL. Otras webs del mismo servidor no se ven afectadas por tu límite, aunque sí pueden competir por los recursos generales del servidor.

¿Puedo solucionar esto sin contactar con mi proveedor?

Sí, en la mayoría de los casos puedes optimizar tu web para reducir el número de conexiones. Pero si necesitas aumentar el límite, probablemente tendrás que contactar con tu proveedor de hosting.

¿Por qué mi hosting no me deja aumentar el límite?

En hosting compartido, el proveedor limita los recursos para proteger a todos los usuarios del servidor. Si tu web necesita más de 50 conexiones simultáneas, quizás es hora de migrar a un VPS o servidor dedicado.

¿Qué pasa si ignoro el error?

Si ignoras el error, tu web seguirá mostrando mensajes de error y algunos usuarios no podrán acceder. Además, podrías perder datos si las conexiones fallan a mitad de una transacción.


Resumen final: qué hacer cuando veas "max_user_connections"

Para que no te abrumes, aquí tienes el plan de acción resumido:

  1. Reinicia la base de datos para recuperar el servicio temporalmente.
  2. Identifica la causa: revisa plugins, cron jobs y consultas lentas.
  3. Optimiza tu aplicación: activa caché, limpia la base de datos y corrige el código.
  4. Si es necesario, aumenta el límite: pide a tu proveedor que suba max_user_connections o hazlo tú si tienes acceso.
  5. Monitoriza: usa las herramientas de tu panel (cPanel, Plesk, DirectAdmin o Syspanel) para vigilar las conexiones activas.

[TIP] Si este error es recurrente, anota la fecha y hora de cada aparición. El patrón te dirá si está relacionado con picos de tráfico, con un cron concreto o con un plugin específico.


Conclusión

El error max_user_connections no es el fin del mundo. Es un aviso de que tu web está pidiendo más recursos de los que tiene asignados. Con las soluciones que te he dado, podrás resolverlo en la mayoría de los casos sin necesidad de ser un experto en bases de datos.

Recuerda que la prevención es mejor que la cura: mantener tu web optimizada, usar caché y revisar periódicamente tus consultas MySQL te ahorrará muchos dolores de cabeza en el futuro.

Si después de seguir todos estos pasos el error persiste, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso a los logs del servidor y podrán ayudarte a identificar el problema exacto.

¡Espero que este artículo te haya sido útil! Si tienes más dudas, déjalas en los comentarios y estaré encantado de ayudarte.

¿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