mysql 查詢死鎖sql

2022-06-07 10:48:15 字數 450 閱讀 9206

1.檢視程序

show processlist;

2.檢視是否鎖表

show open tables where in_use > 0;

3.檢視正在鎖的事務

select * from information_schema.innodb_locks;

4.檢視等待鎖的事務

select * from information_schema.innodb_lock_waits;

5.查詢 正在執行的事務

select * from information_schema.innodb_trx;

6.殺死被鎖線程

trx_mysql_thread_id 為被鎖的事務id,可以使用kill 執行緒id殺死對應的執行緒,達到釋放鎖效果。

查詢死鎖的方法

死鎖主要是由於操作不當導致執行緒之間出現相互等待,一般有source code的和pdb就可以找到死鎖的原因,只要在code中不出現terminatethread,一般均可找到原因。若使用了第三方庫,別人的code就不在我們的管控範圍以內,很難定位到具體原因。一般可以看到ntdll的臨界區被占用,r...

查詢死鎖 和 解決死鎖

sql中執行 sp who lock kill 1 1 語句中查詢出來的id set ansi nulls on go set quoted identifier on go alter procedure dbo sp who lock as begin declare spid int decl...

查詢死鎖與自動刪除死鎖聯接

exec dbo ht who lockex 1 dbc create procedure dbo ht who lockex iskill as bit 是否自動刪除死鎖聯接 asbegin declare spid int,bl int,inttransactioncountonentry in...