情況:
某條資料可以查詢,但是更新報錯,檢視上面錯誤資訊得知該資料事務沒有提交。
解決:
精準定位鎖程序資訊:
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...