Entrei no meu servidor para verificar o status do banco de dados e notei SHOW PROCESSLIST;
que há um grande número de conexões inativas muito antigas.
Qual a duração do limite de conexão antes que a conexão seja interrompida?
Como faço para definir o limite de tempo no MySQL 5.0.51a-3ubuntu5.4?
Nota:
Estou usando o PHP 5.2.xe o symfony framework 1.2.
Respostas:
mysqld
atingirá o tempo limite das conexões com o banco de dados com base em duas opções de servidor:Ambos são 28.800 segundos (8 horas) por padrão.
Você pode definir essas opções em
/etc/my.cnf
Se suas conexões forem persistentes (abertas via
mysql_pconnect
), você poderá diminuir esses números para algo razoável como 600 (10 minutos) ou até 60 (1 minuto). Ou, se o aplicativo funcionar bem, você pode deixar o padrão. Isso é com você.Você deve configurá-los da seguinte maneira em
my.cnf
(entra em vigor após amysqld
reinicialização):Se você não deseja reiniciar o mysql, execute estes dois comandos:
Isso não fechará as conexões já abertas. Isso fará com que novas conexões fechem em 180 segundos.
fonte
wait_timeout=180
?