首頁 > 資料庫 > mysql教程 > 如何修復 MySQL 中的「鎖定等待超時超出」錯誤:解鎖卡住的表

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

Mary-Kate Olsen
發布: 2024-11-19 17:08:03
原創
188 人瀏覽過

How to Fix

解鎖「卡住」的MySQL 表:排除「鎖定等待超時超出」

當遇到「鎖定等待超時超出;嘗試重新啟動」時在MySQL 中使用InnoDB 表時出現「事務」錯誤,很可能交易已被卡住。以下是修復表並解決卡住事務的方法:

1.識別卡住的事務:

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

SHOW PROCESSLIST;
登入後複製

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

2.終止卡住的執行緒:

辨識出卡住的執行緒後,在命令列介面中使用以下指令終止它:

KILL <thread_id>;
登入後複製

取代;以及卡住執行緒的ID。

3.重新啟動交易(可選):

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

START TRANSACTION;
COMMIT;
登入後複製

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

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

ALTER TABLE <table_name> DROP INDEX <index_name>;
登入後複製

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

以上是如何修復 MySQL 中的「鎖定等待超時超出」錯誤:解鎖卡住的表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板