
Cuando se tiene una aplicación web (sitio, blog, foro, etc) que tiene alta demanda, o sea, que gran número de usuarios visita esto se traduce en incremento de consumo en el servidor. Si dicha app web usa una base de datos MySQL – MariaDB y las consultas son realmente muchas (por mala programación de la web o por muchos usuarios usando la web), existe la posibilidad de que MySQL – MariaDB muestre este error en su log de errores:
1 2 3 | ..... mysqli_connect(): (HY000/1040): Too many connections ..... |
¿Qué significa el error de MySQL – MariaDB: Too Many Connections?
Significa que al MySQL – MariaDB están llegando demasiadas peticiones, más de las que puede aceptar, más de las que puede poner en cola o en espera.
¿Cómo solucionarlo?
Simple, debemos aumentar el límite máximo de peticiones (conexiones) que MySQL – MariaDB admite. Para solucionar este problema:
Editamos el archivo de configuración de MySQL – MariaDB.
Si estamos bajo distribución RHEL (RedHat, Centos, CentOS Stream, AlmaLinux, Rocky, etc):
1 | /etc/my.conf.d/server.cnf |
Si estamos bajo distribución Debian (Kubuntu, Ubuntu, etc):
1 | /etc/mysql/my.cnf |
EDITAMOS:
1 2 3 4 | ..... max_connections = 500 max_user_connections = 10 ..... |
Esto aumentará el número máximo de conexiones totales de 100 (que es el por defecto) a 500 y a 10 conexiones por usuario como máximo (véase usuarios de base de datos, no de visitantes).
Guardamos y salimos, entonces reiniciamos el servicio MySQL – MariaDB y listo. Este cambio es permanente.