mysql被鎖表了,精準定位程序進行kill

2021-10-11 04:09:27 字數 896 閱讀 5567

情況:

某條資料可以查詢,但是更新報錯,檢視上面錯誤資訊得知該資料事務沒有提交。

解決:

精準定位鎖程序資訊:

select

*from information_schema.processlist a , information_schema.innodb_trx b where b.trx_mysql_thread_id=a.id

鎖程序:

66為我的ip,,把我們鎖的程序kill掉就解決了。

kill

15775

;kill

16306

;完美解決!

其他解決方案:

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;

mysql8定位被鎖語句

首先檢視系統鎖情況,下面這條語句可以看到持有鎖的執行緒以及執行緒id,這裡需要注意下,session id也就是show processlist查詢出來的鏈結id,在這個表裡表現為pid,同時該錶也記錄了trx id,最後還給出了解決方案也就是如何kill持有鎖的程序。mysql select fr...

mysql檢視鎖表程序

mysql 檢視被鎖住的表 查詢是否鎖表 show open tables where in use 0 檢視所有程序 mysql show processlist mariabd show full processlist 查詢到相對應的程序 然後 kill id 殺掉指定mysql連線的程序號 ...

資料庫中的表被鎖了

1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.sid,s.serial from v locked object l,dba objects o v session s where l.object id o.object id and l.sessi...