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

O que é a variável wait_timeout, net_read_timeout e net_write_timeout do MySQL?


O MySQL usa diferentes variáveis ​​de tempo limite para vários estágios.
  • Quando a conexão é estabelecida, ela usa connection_timeout
  • Quando aguarda a próxima consulta, usa wait_timeout
  • Quando não recebe a consulta no horário específico, usa net_read_timeout e net_write_timeout
  • E assim por diante...

Normalmente net_read_timeout não deve ser um problema, mas quando você tem algum problema de rede, especialmente ao se comunicar com o servidor, esse tempo limite pode ser aumentado porque, em vez de um único pacote para a consulta, que você enviou para o banco de dados, o MySQL espera que toda a consulta seja read mas, devido ao problema de rede, não recebe o restante da consulta. O MySQL não permite que o cliente converse com o servidor até que o resultado da consulta seja obtido completamente.

Você não pode alterar adequadamente essas duas variáveis, que afinal são variáveis ​​de sessão.

Também no MySQL Doc você pode ler

net_read_timeout :

net_write_timeout :

Você pode verificar a variável defaults dentro do próprio MySQL usando

> mysql show variables like '%timeout';