Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quelle est la variable wait_timeout, net_read_timeout et net_write_timeout de MySQL ?

MySQL utilise différentes variables de délai d'attente pour différentes étapes.

  • Lorsque la connexion est établie, elle utilise connection_timeout
  • Lorsqu'il attend la prochaine requête, il utilise wait_timeout
  • Lorsqu'il ne reçoit pas la requête dans le délai imparti, il utilise net_read_timeout et net_write_timeout
  • Et ainsi de suite...

Généralement net_read_timeout ne devrait pas être un problème, mais lorsque vous rencontrez des problèmes de réseau, en particulier lors de la communication avec le serveur, ce délai peut être augmenté car au lieu d'un seul paquet pour la requête, que vous avez envoyé à la base de données, MySQL attend que la requête entière soit lu mais, en raison du problème de réseau, il ne reçoit pas le reste de la requête. MySQL n'autorise pas le client à parler au serveur tant que le résultat de la requête n'est pas complètement récupéré.

Vous ne pouvez pas modifier correctement ces deux variables, qui sont des variables de sessions après tout.

Également à partir du MySQL Doc, vous pouvez lire

net_read_timeout :

net_write_timeout :

Vous pouvez vérifier la variable par défaut dans MySQL lui-même en utilisant

> mysql show variables like '%timeout';