Cómo arreglar el error de MySQL – MariaDB: Too Many Connections

MariaDB y MySQL

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.