mysql开启事务但是未提交,超时时间怎么设置?

如题,有一个事务一直处在running的状态,判断为事务开启但是没有提交或者回滚导致的,导致其他相同的sql操作无法进行,mysql里有什么参数可以设置这种没有提交的事务在一定时间后能自动释放?

阅读 5.5k
1 个回答

事务有 update 操作时会有行锁,可以设置 innodb_lock_wait_timeout 来释放锁回滚事务,默认值是 50s。

不过其他 select、insert、delete 操作没有触发行锁,所以这个机制应该不行,一般是监控 information_schema.Innodb_trx 表,自己设置超时时间来 kill 掉事务。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题