MySQL Innodb中的悬空交易

假设我执行以下SQL语句:

start transaction;
insert into someTable (userId, amount) values (33, 44);

请注意,此语句末尾没有Commit或Rollback.我也没有选择要求启用autoCommit.

dba如何检测这种未完成的事务?我尝试过使用’show innodb status’,但它提供了太多信息.我正在尝试查找未提交的事务并强制它们提交或回滚.

谢谢.

最佳答案 Autocommit在这里不会帮助你,启动事务会覆盖它.

一旦连接超时或客户端重新连接,就会回滚悬空事务,以先发生者为准.
没有办法提交悬空事务,唯一可能的选择是回滚.

如果您想了解InnoDB状态输出,请参阅:
http://www.mysqlperformanceblog.com/2006/07/17/show-innodb-status-walk-through/

点赞