Mudanças entre as edições de "Configurando o Timeout do MySQL"
Linha 8: | Linha 8: | ||
2. Edite o arquivo '''my.cnf''' (o arquivo de configuração do MySQL). | 2. Edite o arquivo '''my.cnf''' (o arquivo de configuração do MySQL). | ||
− | nano /etc/my.cnf | + | nano /etc/my.cnf |
3. Adicione a configuração de tempo limite para ajustá-lo em sua necessidade no servidor. O padrão é como mostrado abaixo, onde 28800=8horas: | 3. Adicione a configuração de tempo limite para ajustá-lo em sua necessidade no servidor. O padrão é como mostrado abaixo, onde 28800=8horas: | ||
− | wait_timeout = 28800 | + | <pre> |
+ | wait_timeout = 28800 | ||
interactive_timeout = 28800 | interactive_timeout = 28800 | ||
+ | </pre> | ||
O tempo limite interativo não afeta todas as conexões de aplicativos web. Um valor alto de interactive_timeout mas com um wait_timeout baixo é normal e é a melhor prática. | O tempo limite interativo não afeta todas as conexões de aplicativos web. Um valor alto de interactive_timeout mas com um wait_timeout baixo é normal e é a melhor prática. | ||
Linha 23: | Linha 25: | ||
5. Reinicie o MySQL para aplicar as alterações da seguinte forma: | 5. Reinicie o MySQL para aplicar as alterações da seguinte forma: | ||
− | service mysql restart | + | service mysql restart |
6. Uma vez a reinicialização concluída, as novas alterações foram aplicadas. | 6. Uma vez a reinicialização concluída, as novas alterações foram aplicadas. | ||
[[Categoria:TUTORIAIS]] | [[Categoria:TUTORIAIS]] | ||
+ | [[Categoria:MYSQL]] | ||
+ | [[Categoria:VPS]] |
Edição das 03h40min de 5 de fevereiro de 2016
O servidor de banco de dados MySQL possui um tempo limite para conexões abertas, sem uso, de 8 horas. Com o fim do tempo limite do servidor MySQL, podemos ter um enviado ao serviço, sendo que uma conexão foi fechada, gerando erros de broken pipe. A conexão pode ter sido fechada pelo servidor por causa de um comportamento padrão do MySQL; no entanto, em outros casos, é causada por um bug de aplicativo, um problema de tempo limite de rede (em um firewall, roteador, etc.), quando acessado externamente, ou devido ao reinício do servidor MySQL. Raramente o valor wait_timeout causará o problema, e alterando o valor para um maior não corrige o problema. Para os casos em que um aplicativo não consegue fechar uma conexão já não está usando, um valor baixo wait_timeout pode ajudar a evitar o problema com max_connections, simplesmente devido a "sleep" de conexões ociosas que não estão em uma transação e não serão reutilizados. Esse problema pode ser considerado como "vazamento de conexões”.
Abaixo os passos para alterar o tempo limite padrão do MySQL:
1. Entre no servidor SSH como usuário root logado. Clique aqui caso queira saber como acessar o SSH.
2. Edite o arquivo my.cnf (o arquivo de configuração do MySQL).
nano /etc/my.cnf
3. Adicione a configuração de tempo limite para ajustá-lo em sua necessidade no servidor. O padrão é como mostrado abaixo, onde 28800=8horas:
wait_timeout = 28800 interactive_timeout = 28800
O tempo limite interativo não afeta todas as conexões de aplicativos web. Um valor alto de interactive_timeout mas com um wait_timeout baixo é normal e é a melhor prática.
Escolha um valor wait_timeout razoável. Configure o wait_timeout para ser ligeiramente mais longo do que o esperado pelo pool de conexãodo aplicativo. Esta é uma boa verificação de segurança.
4. Salve as alterações e saia do editor. No editor nano, os comandos "Ctrl+x", sem aspas, será o suficiente para sair, onde após suas alterações, ele pedirá o reinicio.
5. Reinicie o MySQL para aplicar as alterações da seguinte forma:
service mysql restart
6. Uma vez a reinicialização concluída, as novas alterações foram aplicadas.