解除正在死鎖的狀态有兩種方法:
第一種:1.查詢是否鎖表
show OPEN TABLES where In_use > 0;2.查詢程序(如果您有SUPER權限,您可以看到所有線程。否則,您隻能看到您自己的線程)
show processlist3.殺死程序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;