MySQL查看死锁语句

[数据库技术] 季雨林 2019/12/11 15:16:15

今天单元测试的时候,有个事务,反复的执行到一半就中断,一不小心导致行锁出现。从而导致能执行查询不能执行更新。


解除正在死锁的状态有两种方法:


方法一:

1.查询是否锁表

show OPEN TABLES where In_use > 0;

2.查询进程(如果您有SUPER权限可以看到所有线程。否则只能看到自己帐号下的线程)

show processlist;

3.杀死进程id(就是上面命令查到的id)

kill id;


方法二:

1.查看下在锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

2.杀死进程id(就是上面命令查到的trx_mysql_thread_id列)

kill 线程ID

查出死锁进程:SHOW PROCESSLIST;

杀掉进程          KILL 3203;


其它关于查看死锁的命令:

1:查看当前的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

2:查看当前锁定的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

3:查看当前等锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;



原文地址: https://www.opengps.cn/Blog/View.aspx?id=568 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示