查找死锁
1、查看正在进行中的事务
SELECT * FROM information_schema.INNODB_TRX
2、查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
3、查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
4、查询是否锁表
SHOW OPEN TABLES where In_use > 0;
在发生死锁时,这几种方式都可以查询到和当前死锁相关的信息。
5、查看最近死锁的日志
show engine innodb status
解除死锁
show processlist或者使用SELECT * FROM information_schema.INNODB_TRX; 查找到对应的事务id
杀掉进程对应的进程 id(kill id)
再次查看验证是否还有锁
文章介绍了在MySQL数据库中如何检测死锁,包括查看正在进行的事务、锁定的事务、等待锁的事务以及锁表的情况。同时,提供了通过查看最近的死锁日志来诊断问题,以及通过`showprocesslist`或`kill`命令解除死锁的步骤。
1021

被折叠的 条评论
为什么被折叠?



