在做資料庫操作時,有時會因為自己的粗心或者程式設計上的缺陷導致鎖表,在mysql中檢視鎖表和解鎖的步驟如下:
//1.檢視當前資料庫鎖表的情況
select * from information_schema.innodb_trx;
//2.殺掉查詢結果中鎖表的trx_mysql_thread_id
kill trx_mysql_thread_id
在網上也查到了一種方法,不過沒有驗證過,下面貼出來1、查詢是否鎖表
show
open tables where in_use > 0;
2、查詢程序
show processlist
查詢到相對應的程序===然後 kill id
補充:檢視正在鎖的事務
select * from information_schema.innodb_locks;
檢視等待鎖的事務
select * from information_schema.innodb_lock_waits;
歸根結底鎖表還是因為事務控制的不規範以及自己的不認真,以後在這方面要多加注意 MySQL 鎖表查詢和解鎖操作
1 在做資料庫操作時,有時會因為自己的粗心或者程式設計上的缺陷導致鎖表,在mysql中檢視鎖表和解鎖的步驟如下 1.檢視當前資料庫鎖表的情況 select from information schema.innodb trx 2.殺掉查詢結果中鎖表的trx mysql thread id kill ...
oracle 鎖表查詢 和 解鎖
查詢誰鎖定,誰等待 select rule lpad decode l.xidusn,0,3,0 l.oracle username user name,o.owner,o.object name,o.object type,s.sid,s.serial from v locked object l...
Oracle鎖表查詢和解鎖
1.以下為相關表 v lock v sqlarea v session v process v locked object all objects v session wait.2.通過管理查詢被鎖表的相關資訊 select b.sql id,b.username,b.sid,b.serial c....