Too many connections limite de conexiones excedido

Cuando una conexion a mysql nos genera el mensaje "too many connections" quiere decir que el limite de conexiones se ha excedido y por tal motivo no permite ni una mas.

Por defecto mysql trae un limite de 250 conexiones y al parecer nuestros programas que consumen la base de datos estan sobre pasando ese limite.

En versiones anteriores de sistemas operativos era tan simple como agregar una variable a un archivo, pero con las nuevas versiones de CentOS ya no es tan sencillo.


Pasos para corregir este tema:

1. Cambiar el limite maximo de archivos del SO para mysql.

En el archivo /etc/security/limits.conf

AGREGAR:

mysql hard nofile 65535
mysql soft nofile 65535

Luego en:
/usr/lib/systemd/system/mysqld.service, en la sección de servicio [service]

LimitNOFILE=65535

2. Ahora si lo que estabamos acostumbrados:

En el archivo /etc/my.conf
AGREGAR:

[mysqld]

max_connections=2500

3. REINICIAR

systemctl daemon-reload
systemctl restart mysqld

4. VERIFICAR

mysql> show variables like '%connection%';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| character_set_connection | utf8            |
| collation_connection     | utf8_general_ci |
| max_connections          | 2500            |
| max_user_connections     | 0               |
+--------------------------+-----------------+
4 rows in set (0.01 sec)

Comentarios

Entradas populares de este blog

Glassfish 4.4.1 falla con jax rs y json

Como configurar un servidor de desarrollo

JAVA Como prevenir Directorio Transversal Directory Traversal