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

Restauration MySQL sur transaction avec connexion perdue/déconnectée

Lorsque vous déconnectez physiquement un client, vous n'envoyez pas de déconnexion normale (ce qui aurait provoqué une annulation) et le protocole MySQL n'est pas très bavard, de sorte que le serveur ne sait jamais que le client n'est pas là. Je pense que c'est une faille dans le protocole par rapport à d'autres systèmes de base de données où le client et le serveur parlent beaucoup plus en interne.

En tous cas. Il y a deux variables que vous pouvez changer. Ils font essentiellement la même chose mais pour des clients différents.

Le premier est wait_timeout et il est utilisé par des clients d'application comme java ou php.

L'autre est interactive_timeout et il est utilisé par le client mysql (comme dans vos tests)

Dans les deux cas, le serveur coupe la connexion après un certain nombre de secondes et, ce faisant, annule toutes les transactions et libère tous les verrous.