」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何修復 MySQL 中的「鎖定等待超時超出」錯誤:解鎖卡住的表

如何修復 MySQL 中的「鎖定等待超時超出」錯誤:解鎖卡住的表

發佈於2024-11-16
瀏覽:454

How to Fix \

解鎖「卡住」的MySQL 表:解決「Lock Wait Timeout Exceeded」問題

當遇到「Lock wait timeout Exceeded; try restarted」時在MySQL 中使用InnoDB 表時出現「事務」錯誤,很可能事務已被卡住。以下是修復表並解決卡住事務的方法:

1。識別卡住的交易:

在MySQL 命令列介面或透過phpMyAdmin 執行以下命令:

SHOW PROCESSLIST;

這將顯示正在執行的清單執行緒。尋找執行時間較長或處於「睡眠」狀態的執行緒。對應的線程ID將顯示在“Id”欄中。

2.終止卡住的線程:

一旦識別出卡住的線程,請在命令列介面中使用以下命令終止它:

KILL ;

替換為卡住執行緒的ID。

3.重新啟動事務(可選):

如果事務仍然處於活動狀態,請重新啟動它以釋放它可能持有的任何鎖定。您可以透過執行以下命令來完成此操作:

START TRANSACTION;
COMMIT;

4。刪除索引(如果適用):

如果您之前嘗試刪除受影響表上的索引,但由於鎖定而失敗,請在終止卡住的線程並重新啟動事務後再次嘗試刪除它.

ALTER TABLE  DROP INDEX ;

透過執行下列步驟,您可以解鎖卡住的表並解決「超出鎖定等待逾時」錯誤。請記住定期檢查正在運行的線程,以識別並終止任何潛在的卡住事務,以防止將來出現類似問題。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3