MySQL bruger forskellige timeout-variabler til forskellige stadier.
- Når forbindelsen er etableret, bruger den
connection_timeout
- Når den venter på den næste forespørgsel, bruger den
wait_timeout
- Når den ikke modtager forespørgslen inden for det specifikke tidspunkt, bruger den
net_read_timeout
ognet_write_timeout
- Og så videre...
Normalt net_read_timeout
burde ikke være et problem, men når du har nogle netværksproblemer, især når du kommunikerer med serveren, kan denne timeout blive hævet, fordi i stedet for en enkelt pakke til forespørgslen, som du sendte til databasen, venter MySQL på, at hele forespørgslen er læst, men på grund af netværksproblemet modtager den ikke resten af forespørgslen. MySQL tillader ikke klienten at tale serveren, før forespørgselsresultatet er hentet fuldstændigt.
Du kan ikke ændre disse to variable korrekt, som trods alt er sessionsvariable.
Også fra MySQL-dokumentet kan du læse
net_read_timeout
:
net_write_timeout
:
Du kan kontrollere standardvariablen i MySQL selv ved hjælp af
> mysql show variables like '%timeout';