MySQL gebruikt verschillende time-outvariabelen voor verschillende fasen.
- Wanneer de verbinding tot stand is gebracht, gebruikt deze
connection_timeout
- Als het op de volgende vraag wacht, gebruikt het
wait_timeout
- Als het de vraag niet binnen de specifieke tijd ontvangt, gebruikt het
net_read_timeout
ennet_write_timeout
- En ga zo maar door...
Gewoonlijk net_read_timeout
zou geen probleem moeten zijn, maar als je netwerkproblemen hebt, vooral wanneer je met de server communiceert, kan deze time-out optreden omdat in plaats van een enkel pakket voor de query, die je naar de database hebt gestuurd, MySQL wacht tot de hele query is gelezen, maar vanwege het netwerkprobleem ontvangt het de rest van de query niet. MySQL staat de client niet toe om met de server te praten totdat het queryresultaat volledig is opgehaald.
Je kunt die twee variabelen, die tenslotte sessievariabel zijn, niet goed veranderen.
Ook uit het MySQL-document kunt u lezen
net_read_timeout
:
net_write_timeout
:
U kunt de standaardvariabele in MySQL zelf controleren met
> mysql show variables like '%timeout';