打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction的问题解决(备忘)

今天在删除的时候出现报错:ERROR:Lock wait timeout exceeded; try restarting transaction(把这个问题记录下来,防止以后再次遇到了方便处理)。


delete from gx_poor_family_standard_basic where id in (958994869806694400, 958994869810888704) 


网上一通查询,解决方式如下:

1、先查看数据库的事务隔离级别:

 // MySQL默认的事务隔离级别就是REPEATABLE-READ


2、然后查看当前数据库的线程情况:

SHOW FULL PROCESSLIST;



没有看到正在执行的很慢SQL记录线程,再去查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在show full processlist里面的sleep线程中,如果是,就证明这个sleep的线程事务一直没有commit或者rollback而是卡住了,我们需要手动kill掉。


SELECT * FROM information_schema.INNODB_TRX;



3、发现有id为616694的sql,需要手动kill掉

KILL 616694;


kill之后,再去执行上面的delete语句,就可以执行成功了。


注意:MySQL是自动提交事务的(即:autocommit=1),可以使用 show variables like 'autocommit' 或者 select @@autocommit 查看当前数据库是否为自动提交事务;若autocommit的值不是1还可以使用set global autocommit = 1 将自动提交设置为开启。





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
关于Lock wait timeout exceeded; try restarting transaction
总结:事务阻塞Lock wait timeout exceeded; try restarting transaction解决办法:
Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction
MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded
MySQL的timeout那点事
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服