我有一個查詢鎖定表在MySQL(使用的是InnoDB):查詢鎖定表,不能殺死進程
UPDATE table SET status = 2 WHERE status = 3
這個查詢引起死鎖在桌子上,無法繞過它。
我試圖做的:
show processlist
然後殺死進程ID,但我不能似乎將其殺死
我想:
kill 9588
9588是進程ID。
然後我做show processlist
我仍然在列表中看到相同的查詢。
我該如何強制殺死這個進程,然後爲什麼這個查詢會導致死鎖?我該如何解決它?
'殺-9'是操作系統命令,而不是一個MySQL命令。 – tadman 2013-04-10 17:05:29
如果'UPDATE'無法獲得任何'status = 3'行的寫訪問權限,它將會被阻止。我會確保所有的交易都已經提交了他們的變更,並且您沒有任何確定'select for update' – cmd 2013-04-10 17:07:20