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
ochnet_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';