Image

Base de conocimientos → Error SQLSTATE[08004] [1040] Too many connections error

[Servidores virtuales] [Aplicaciones en VPS/VDS]
Fecha de publicación: 07.02.2025

El error indica que se ha agotado el número de conexiones disponibles para el servidor de base de datos MariaDB. Para solucionar este problema, debes aumentar el número de conexiones permitidas a la base de datos.

Para hacerlo, agrega o modifica la siguiente directiva en el archivo:

/etc/mysql/my.cnf

Agrégala en la sección [mysqld]:

[mysqld]
max_connections = 800

Para que los cambios surtan efecto, reinicia el servicio con el siguiente comando:

service mariadb restart

Nota: Si varios usuarios diferentes se conectan a la base de datos, también debes establecer un límite de conexiones por usuario. Esto evitará la inactividad de la base de datos si un usuario supera el límite de conexiones.

Normalmente, un límite de 50 conexiones por usuario es más que suficiente. Si este límite se supera por alguna razón, debes revisar posibles errores en el script, como la ejecución lenta de consultas.

En este caso, el mensaje de error será diferente:
SQLSTATE[HY000] [1203] User someuser already has more than 'max_user_connections' active connections

Para evitar que se supere el límite general de conexiones, agrega la siguiente línea en el mismo archivo:

[mysqld]
max_connections = 800
max_user_connections = 50

Después de realizar estos cambios, reinicia el servicio:

service mariadb restart

Listo.





Sin comentarios aún