背景:今天在做数据的时候,需要测试一下新的插入方法,但是原先的数据表中有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
等待了一会,再查看没有了,成功