天天看點

mysql檢視死鎖和解除鎖

解除正在死鎖的狀态有兩種方法:

第一種: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;