如题,有一个事务一直处在running的状态,判断为事务开启但是没有提交或者回滚导致的,导致其他相同的sql操作无法进行,mysql里有什么参数可以设置这种没有提交的事务在一定时间后能自动释放?
如题,有一个事务一直处在running的状态,判断为事务开启但是没有提交或者回滚导致的,导致其他相同的sql操作无法进行,mysql里有什么参数可以设置这种没有提交的事务在一定时间后能自动释放?
4 回答1.5k 阅读✓ 已解决
8 回答1.3k 阅读
3 回答1.1k 阅读✓ 已解决
3 回答897 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.6k 阅读
1 回答890 阅读✓ 已解决
事务有 update 操作时会有行锁,可以设置 innodb_lock_wait_timeout 来释放锁回滚事务,默认值是 50s。
不过其他 select、insert、delete 操作没有触发行锁,所以这个机制应该不行,一般是监控 information_schema.Innodb_trx 表,自己设置超时时间来 kill 掉事务。