Qual é a diferença real entre wait_timeout
e interactive_timeout
?
interactive_time
é para sessões interativas, enquanto wait_timeout
é para sessões não interativas.
O que é uma sessão interativa? É um com um humano no teclado.
Quando seu código se conecta ao MySQL, executa uma consulta e passa 3 segundos processando essa consulta antes de desconectar, são 3 segundos da wait_timeout
.
Quando você usa o mysql
cliente de linha de comando para se conectar, execute um comando e gaste 10 segundos lendo a saída, ou seja, 10 segundos interactive_timeout
. Se você for embora e almoçar, são 3600 segundos de interactive_timeout
.
Nos dois casos, quando você ou seu código executa outra consulta, o tempo de espera é redefinido para 0.
Você pode ver os valores para todas as sessões atuais digitando show processlist
. Os valores na sleep(5)
função são o número de segundos desde a última conexão que a conexão fez.