Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível aumentar max_open_files para conexões máximas do Mysql no Ubuntu 15


O Ubuntu mudou de Upstart para Systemd na versão 15.04 e não respeita mais os limites em /etc/security/limits.conf para serviços do sistema. Esses limites agora se aplicam apenas às sessões do usuário.

Os limites para o serviço MySQL são definidos no arquivo de configuração do Systemd, que você deve copiar de seu local padrão para /etc/systemd e depois editar a cópia.
sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
sudo vim /etc/systemd/system/mysql.service # or your editor of choice

Adicione as seguintes linhas na parte inferior do arquivo:
LimitNOFILE=infinity
LimitMEMLOCK=infinity

Você também pode definir um limite numérico, por exemplo, LimitNOFILE=4510 .

Agora recarregue a configuração do Systemd com:
sudo systemctl daemon-reload

Reinicie o MySQL e agora deve obedecer a diretiva max_connections.

Eu também tive problemas para parar o MySQL de forma limpa após a atualização para 15.04. Se isso afetar você (você saberá porque levará 300 segundos para expirar quando você fizer service mysql stop ou service mysql restart ) adicionando a seguinte linha ao mesmo arquivo /etc/systemd/system/mysql.service corrigiu para mim:
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown

Este último problema parece ter sido corrigido por 16.04 e esta linha não é mais necessária, então antes de fazer uma atualização de distribuição você vai querer parar o MySQL e remover o ExecStop linha do arquivo de configuração.