Comment afficher les transactions en cours dans MySQL
P粉176151589
2023-08-27 16:03:45
<p>J'ai exécuté quelques requêtes sans les soumettre. L'application est alors arrêtée. </p>
<p>Comment puis-je afficher ces transactions ouvertes et les soumettre ou les annuler ? </p>
Bien qu'il n'y ait plus de transactions restantes dans ce cas, comme @Johan l'a dit, si vous le souhaitez, vous pouvez consulter la liste actuelle des transactions dans InnoDB via la requête ci-dessous.
从 information_schema.innodb_trxG 中选择*
De Documents :
Sans transaction ouverte, MySQL annulera la transaction lors de la déconnexion.
Vous ne pouvez pas valider la transaction (IFAIK).
Vous affichez les fils de discussion en utilisant
Voir : http://dev.mysql.com/doc/refman/5.1/en/thread-information.html
Cela ne vous aidera pas car vous ne pouvez pas valider de transactions à partir d'une connexion interrompue.
Que se passe-t-il lorsque la connexion est interrompue
Extrait de la documentation MySQL : http://dev.mysql.com/doc/refman/5.0/en/mysql-tips.html
Voir aussi : http://dev.mysql.com/doc/refman/5.0/en/auto-reconnect.html
Comment diagnostiquer et résoudre ce problème
Vérifiez la reconnexion automatique :
Assurez-vous de conserver la dernière requête (transaction) dans le client afin de pouvoir la soumettre à nouveau si nécessaire.
et désactivez le mode de reconnexion automatique car cela est dangereux, implémentez plutôt votre propre reconnexion afin de savoir quand une chute se produit et de pouvoir soumettre à nouveau cette requête.