MySQL出現錯誤1205-Lock wait timeout exceeded; try restarting transaction

今天在清空mysql數據庫中的表格數據時,報瞭如下錯誤,導致操作失敗:




上網查找了一下,瞭解到了該類問題出現的主要原因是:Mysql的 InnoDB存儲引擎是支持事務的,事務開啓後沒有被主動Commit,導致該資源被長期佔用,其他事務在搶佔該資源時,因上一個事務的鎖而導致搶佔失敗!因此出現 Lock wait timeout exceeded。


解決辦法:

    方法一:

         1. 查看事物表,找出被鎖線程的id:SELECT * FROM information_schema.INNODB_TRX;



         2. 根據id,kill掉被鎖住的線程:kill 65


    方法二:

         1. 執行MySQL命令:SHOW FULL PROCESSLIST; 找到被鎖住的線程ID(如下圖中的65)



         2. 根據id,kill掉被鎖住的線程:kill 64

原文鏈接:https://blog.csdn.net/u012248802/article/details/77866019
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章