Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Co to są zmienne wait_timeout, net_read_timeout i net_write_timeout w MySQL?

MySQL używa różnych zmiennych limitu czasu na różnych etapach.

  • Po nawiązaniu połączenia używa connection_timeout
  • Gdy czeka na następne zapytanie, używa wait_timeout
  • Gdy nie otrzyma zapytania w określonym czasie, używa net_read_timeout i net_write_timeout
  • I tak dalej...

Zwykle net_read_timeout nie powinno to stanowić problemu, ale gdy masz problemy z siecią, zwłaszcza podczas komunikacji z serwerem, ten limit czasu może się podnieść, ponieważ zamiast pojedynczego pakietu dla zapytania, który wysłałeś do Bazy danych, MySQL czeka na całe zapytanie read, ale z powodu problemu z siecią nie otrzymuje reszty zapytania. MySQL nie pozwala klientowi komunikować się z serwerem, dopóki wynik zapytania nie zostanie całkowicie pobrany.

Nie możesz poprawnie zmienić tych dwóch zmiennych, które w końcu są zmiennymi sesji.

Również z MySQL Doc możesz przeczytać

net_read_timeout :

net_write_timeout :

Możesz sprawdzić zmienną defaults w samym MySQL za pomocą

> mysql show variables like '%timeout';



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać mvc-mini-profiler z Entity Framework 4,1?

  2. Błąd MysQl:nieprawidłowy numer parametru

  3. Czy istnieje prosty sposób w mojej aplikacji ASP.NET, aby programowo dowiedzieć się, czy serwer mysql db jest wyłączony?

  4. Co jest nie tak z tym zapytaniem mysql?

  5. wygeneruj klauzulę where w bash za pomocą zmiennych