sql >> Databasteknik >  >> RDS >> Mysql

Vad är MySQL:s variabler för wait_timeout, net_read_timeout och net_write_timeout?

MySQL använder olika tidsgränsvariabler för olika stadier.

  • När anslutningen upprättas använder den connection_timeout
  • När den väntar på nästa fråga använder den wait_timeout
  • När den inte tar emot frågan inom den specifika tiden använder den net_read_timeout och net_write_timeout
  • Och så vidare...

Vanligtvis net_read_timeout borde inte vara ett problem men när du har några nätverksproblem, speciellt när du kommunicerar med servern, kan denna timeout ökas eftersom istället för ett enda paket för frågan, som du skickade till databasen, väntar MySQL på att hela frågan ska vara läser men på grund av nätverksproblemet tar den inte emot resten av frågan. MySQL tillåter inte klienten att prata servern förrän frågeresultatet har hämtats helt.

Du kan inte ändra dessa två variabler korrekt, som trots allt är sessionsvariabler.

Även från MySQL-dokumentet kan du läsa

net_read_timeout :

net_write_timeout :

Du kan kontrollera standardvariabeln i MySQL själv med

> mysql show variables like '%timeout';



  1. Räkna antalet distinkta rader för flera värden

  2. 504 Gateway Timeout-fel vid val av 300 000 rader från MySQL-databas

  3. Håna en MySQL-databas i Python

  4. Hur man importerar MySQL-binlog som innehåller INSERT från ett TIMESTAMP-fält med standardvärdet CURRENT_TIMESTAMP