MySQL事务没有提交时网络断开,MySQL手动关闭事务

出现的问题

由于事务没有结束,锁没有释放导致接下来的操作锁等待超时异常

解决

-- 查看当前正在执行的事务
SELECT * FROM information_schema.INNODB_TRX
-- 查看当前出现的锁(貌似只有处于竞争状态的才可以查看的到)
SELECT * FROM information_schema.INNODB_LOCKS
-- 查看锁等待的对应关系(貌似只有处于竞争状态的才可以查看的到)
SELECT * FROM information_schema.innodb_lock_waits
-- 杀死线程
kill  线程id

-- 查看当前正在执行的事务
SELECT * FROM information_schema.INNODB_TRX

image.png

-- 查看当前出现的锁
SELECT * FROM information_schema.INNODB_LOCKS

image.png

-- 查看锁等待的对应关系
SELECT * FROM information_schema.innodb_lock_waits

image.png

只需要根据上面的三个SQL找到对应的线程ID然后kill 线程ID就可以了
注意 这个kill时MySQL的命令,不是Linux的那个kill命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容