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

等待了一会,再查看没有了,成功
 

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