天天看點

MySQL 資料庫sql指令查詢被鎖的表執行個體示範,mysql的鎖表與解鎖,mysql強制解鎖殺掉程序,mysql查詢鎖表一直轉圈

show open tables where in_use > 0

指令可以查詢鎖表。

in_use 為 1 表示這個表同時被兩個使用者使用,一個正在用,一個在鎖定中。

-- 為md_class表增加個寫鎖定
lock tables md_class write;
-- 檢視鎖表
show open tables where in_use > 0;
-- 表解鎖
unlock tables;      

檢視鎖表:

MySQL 資料庫sql指令查詢被鎖的表執行個體示範,mysql的鎖表與解鎖,mysql強制解鎖殺掉程式,mysql查詢鎖表一直轉圈

特殊情況下的鎖定是線程阻塞導緻的,查詢鎖表都查不出來,一直轉圈,即使查詢出也無法解鎖,需要強制殺掉阻塞的線程。

select * from information_schema.innodb_trx;

方法可以查詢到有兩條阻塞的線程。

MySQL 資料庫sql指令查詢被鎖的表執行個體示範,mysql的鎖表與解鎖,mysql強制解鎖殺掉程式,mysql查詢鎖表一直轉圈

通過 kill + trx_mysql_thread_id 可以直接把對應的程序殺掉。

例:

kill 3886;

MySQL 資料庫sql指令查詢被鎖的表執行個體示範,mysql的鎖表與解鎖,mysql強制解鎖殺掉程式,mysql查詢鎖表一直轉圈

喜歡的點個贊❤吧!