请选择 进入手机版 | 继续访问电脑版

MySQL:1205 Lock wait timeout exceeded; try restarting transaction解

[复制链接]
滚雪球少年 发表于 2021-1-1 18:29:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
MySQL:1205 Lock wait timeout exceeded; try restarting transaction解决方法

出现原因:一个SQL执行完了,但未commit,也没有rollback就return退出了,反面的SQL想要执行,就是被锁,超时竣事。
解决方法三步走:

一:查看当前线程

  1. show full processlist;
复制代码

二:查看事务表

  1. select * from information_schema.innodb_trx;
复制代码

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

  1. kill 919;
复制代码
kill之后,再去执行反面的SQL,就可以执行乐成了!
验证

最后再次查看线程及事务表,即可发现被锁的事务线程已经没有啦~~~



来源:https://blog.csdn.net/Xin6Yang/article/details/112023479
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )