Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was sind die Variablen wait_timeout, net_read_timeout und net_write_timeout von MySQL?

MySQL verwendet verschiedene Timeout-Variablen für verschiedene Phasen.

  • Wenn die Verbindung hergestellt wird, wird connection_timeout verwendet
  • Wenn es auf die nächste Abfrage wartet, verwendet es wait_timeout
  • Wenn es die Abfrage nicht in der angegebenen Zeit erhält, verwendet es net_read_timeout und net_write_timeout
  • Und so weiter...

Normalerweise net_read_timeout sollte kein Problem sein, aber wenn Sie einige Netzwerkprobleme haben, insbesondere bei der Kommunikation mit dem Server, könnte dieses Timeout erhöht werden, da MySQL anstelle eines einzelnen Pakets für die Abfrage, das Sie an die Datenbank senden, auf die gesamte Abfrage wartet gelesen, aber aufgrund des Netzwerkproblems erhält es den Rest der Abfrage nicht. MySQL erlaubt dem Client nicht, mit dem Server zu sprechen, bis das Abfrageergebnis vollständig abgerufen wurde.

Sie können diese beiden Variablen, die schließlich Session-Variablen sind, nicht richtig ändern.

Auch aus dem MySQL Doc können Sie lesen

net_read_timeout :

net_write_timeout :

Sie können die Standardvariable innerhalb von MySQL selbst mit

überprüfen

> mysql show variables like '%timeout'; an