有沒有辦法檢測MySQL中的鎖定表?我的意思是由LOCK TABLE table WRITE/READ
命令鎖定的表。檢測鎖定表(由LOCK TABLE鎖定)
(注意,興趣與檢測獲得的GET_LOCK
應閱讀Show all current locks from get_lock,而不是命名爲鎖的讀者。)
有沒有辦法檢測MySQL中的鎖定表?我的意思是由LOCK TABLE table WRITE/READ
命令鎖定的表。檢測鎖定表(由LOCK TABLE鎖定)
(注意,興趣與檢測獲得的GET_LOCK
應閱讀Show all current locks from get_lock,而不是命名爲鎖的讀者。)
你不能對非指定的鎖!
更多信息: http://forums.mysql.com/read.php?21,222363,223774#msg-223774
除非你先用一個諮詢鎖。您可能還想考慮使用INSERT DELAYED。
但是,您可以使用SHOW OPEN TABLES
來顯示每個表的狀態。
還有像「MetaLock」這樣的可怕的事情,我很高興你沒有遇到這種情況。
這article介紹如何獲取有關鎖定MySQL的資源信息。 mysqladmin debug
也可能有一定用處。
您可以使用SHOW OPEN TABLES
來顯示每個表的鎖定狀態。有關該命令的文檔頁面的更多詳細信息是here。
使用SHOW OPEN TABLES
: http://dev.mysql.com/doc/refman/5.1/en/show-open-tables.html
你可以做這樣的事情
SHOW OPEN TABLES WHERE `Table` LIKE '%[TABLE_NAME]%' AND `Database` LIKE '[DBNAME]' AND In_use > 0;
檢查數據庫中的任何鎖定表。
最簡單的方法是:
SHOW OPEN TABLES WHERE In_use > 0
你只能得到當前數據庫的鎖定表。
很好,但是MyISAM被鎖定了嗎?歡呼聲 – Marcin 2010-03-23 13:56:48
對不起,幫不了你。 – 2010-03-23 15:02:12