Lock wait timeout exceeded; try restarting transaction

背景:今天在做數據的時候,需要測試一下新的插入方法,但是原先的數據表中有150W的數據,想着先刪除再測吧,執行查詢delete from ,但是因爲數據過多,一直在等待,我不耐煩了,打算停掉,很暴力,點擊沒有反應我就直接關掉了sequel,順利關閉,再次進入,看到還剩下70000數據,繼續刪除,執行delete from出現錯誤Lock wait timeout exceeded; try restarting transaction

看錯誤的意思是因爲有鎖,根據相關理解知道可能是事務的作用,未執行完成,正在進行回滾,所以把表給鎖住了,經過相關資料,有人說information_schema這個庫裏面保存了mysql的運行信息

查詢事務

select * from information_schema.innodb_trx;
出現以下結果

大致意思是在回滾吧,鎖住了,然後我kill 8941,沒有反應,查詢依舊可以找到,刪除依舊報錯

查看以下mysql運行的線程

show  processlist;

發現8941這個線程已經被killed

等待了一會,再查看沒有了,成功
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章