假设我执行以下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/