1. 程式人生 > >mysql檢視死鎖和解除鎖

mysql檢視死鎖和解除鎖

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

第一種:

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;