如何修復MySQL表「卡住」的「超出鎖定等待逾時;嘗試重新啟動交易」?

Barbara Streisand
發布: 2024-11-16 08:04:03
原創
691 人瀏覽過

How to Fix

修正「卡住」MySQL 表的「超出鎖定等待逾時;嘗試重新啟動交易」

MySQL 表可能會「卡住交易」

MySQL 表可能會「卡住”由於各種原因,例如長時間運行的查詢或未提交的事務。與此相關的一個常見錯誤訊息是「超出鎖定等待逾時;嘗試重新啟動交易。」

在沒有正確的WHERE 子句的情況下執行查詢時可能會出現此問題,從而導致對所有列的同一列重複更新表中的行。此外,頻繁的索引更新可能會加劇問題。
  1. 要解決此問題並解凍表,有必要識別並終止卡住的交易。可以採取以下步驟:
檢查正在運行的執行緒:

  1. 使用SHOW PROCESSLIST;指令列出MySQL 命令列介面或phpMyAdmin 中所有正在運行的線程。識別任何執行時間非常長的執行緒。
殺死卡住的線程:

  1. 對於執行時間過長的線程,請使用KILL 命令,然後使用對應的線程ID 。這將終止該線程的連線。在 phpMyAdmin 中,有一個方便的「終止」按鈕可用於此目的。
範例:

KILL 115;
登入後複製

要終止執行緒115在命令列中,輸入以下內容:

這將終止卡住的交易並解鎖表,允許恢復正常操作。

以上是如何修復MySQL表「卡住」的「超出鎖定等待逾時;嘗試重新啟動交易」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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