MySQL – Ajustar número de conexões (to many open files)
Verificamos que quando o cliente possui uma quantidade muito grande de usuários o MySQL pode passar a apresentar o erro to many open files. Para resolver esta situação siga os passos abaixo:
- Edite o arquivo /etc/security/limits.conf usando seu editor de texto favorito.
- Adicione o seguinte para todos os usuários na parte inferior do arquivo e salve-o.
* soft nofile 102400
* hard nofile 102400
* soft nproc 10240
* hard nproc 10240
- Edite o arquivo /etc/security/limits.d/90-nproc.conf
- Adicione o seguinte para todos os usuários na parte inferior do arquivo e salve-o.
* soft nofile 1024000
* hard nofile 1024000
* soft nproc 10240
* hard nproc 10240
root soft nproc unlimited
Definir open_files_limit em my.cnf (MySQL)
- Editar arquivo /etc/my.cnf
- Insira o seguinte em [mysqld] e salve.
[mysqld]
open_files_limit = 102400
- Descubra se algum outro arquivo .conf está sendo usado com o MySQL que substitui os valores para limites abertos:
Executesystemctl status mysqld
o comando e ele mostrará algo como este
Drop-In:
/etc/systemd/system/mariadb.service.d
└─limits.conf
Isso significa que há /etc/systemd/system/mariadb.service.d/limts.conf que é carregado com o MySQL Server.
Edite o arquivo e adicione o seguinte
[Service]
LimitNOFILE=102400
- Execute o seguinte comando para aplicar as alterações.
systemctl daemon-reload && /scripts/restartsrv_mysql
- Reinicie seu servidor.
Após a reinicialização bem-sucedida do servidor, executaremos novamente as Consultas SQL abaixo.
SHOW VARIABLES LIKE 'open_files_limit';
Você deverá ver o seguinte:+------------------+--------+ | Variable_name | Value | +------------------+--------+ | open_files_limit | 102400 | +------------------+--------+ 1 row in set (0.00 sec)
Com isso, aumentamos o ulimit open files e o MySQL open_files_limit.