解除正在死鎖的狀態有兩種方法:
第一種:
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 420821;
其它關於查看死鎖的命令:
1:查看當前的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
2:查看當前鎖定的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
3:查看當前等鎖的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
原文:https://blog.csdn.net/yucaifu1989/article/details/79400446