So zeigen Sie ausstehende Transaktionen in MySQL an
P粉176151589
2023-08-27 16:03:45
<p>Ich habe einige Abfragen ausgeführt, ohne sie abzusenden. Dann wird die Anwendung gestoppt. </p>
<p>Wie kann ich diese offenen Transaktionen anzeigen und absenden oder stornieren? </p>
虽然在这种情况下不会有任何剩余事务,正如@Johan所说,但如果你愿意,你可以通过下面的查询查看InnoDB中当前的事务列表。
从 information_schema.innodb_trx\G 中选择*
来自文档:
没有打开的事务,MySQL 将在断开连接时回滚事务。
您无法提交事务 (IFAIK)。
您使用以下方式显示线程
参见:http://dev.mysql.com/ doc/refman/5.1/en/thread-information.html
这对您没有帮助,因为您无法从断开的连接提交事务。
连接中断时会发生什么
来自 MySQL 文档: http://dev.mysql.com/ doc/refman/5.0/en/mysql-tips.html
另请参阅:http://dev.mysql.com /doc/refman/5.0/en/auto-reconnect.html
如何诊断和解决此问题
检查自动重新连接:
确保将最后一个查询(交易)保留在客户端中,以便您可以在需要时重新提交。
并禁用自动重新连接模式,因为这很危险,请改为实现您自己的重新连接,以便您知道何时发生丢弃并且可以重新提交该查询。