在做修改语句的时候,数据库抛出Lock wait timeout exceeded; try restarting transaction这样的异常,提示错误的意思很明显,是因为这条语句被锁住了,所以释放这个锁。
解决方案:
1.通过sql: SELECT * FROM information_schema.INNODB_TRX 来查看当前所运行的所有事务,通过查询表,发现有一条事务记录一直处于RUNNING的状态
2.再次通过sql:SELECT * FROM information_schema.`PROCESSLIST` WHERE id = "trx_mysql_thread_id","trx_mysql_thread_id"为 INNODB_TRX 表中的字段,通过PROCESSLIST来查找被锁的语句,PROCESSLIST这张表保存了MySql服务器所有数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限等。
3.排查出问题所在后,即可在数据库控制台通过 KILL ID 命令杀死这条事务线程,应用就能恢复正常,ID 为 PROCESSLIST 表中的ID字段
出现这种情况的原因:手动开启事务后未提交,发生异常时未回滚,就会导致事务一直处于RUNNING状态,其他事务无法获取锁而等待超时。
原文转载:http://www.shaoqun.com/a/481328.html
李群:https://www.ikjzd.com/w/1767
c2c:https://www.ikjzd.com/w/1576
西集网:https://www.ikjzd.com/w/1353
在做修改语句的时候,数据库抛出Lockwaittimeoutexceeded;tryrestartingtransaction这样的异常,提示错误的意思很明显,是因为这条语句被锁住了,所以释放这个锁。解决方案:1.通过sql:SELECT*FROMinformation_schema.INNODB_TRX来查看当前所运行的所有事务,通过查询表,发现有一条事务记录一直处于RUNNING的状态2.再次
kkr:https://www.ikjzd.com/w/1340
网易考拉海购大促:https://www.ikjzd.com/w/1052
亚马逊推出小企业促销计划,抓住这波流量扶持,玩爆旺季!:https://www.ikjzd.com/home/130930
2020年五一假期惠州巽寮湾的烧烤场会不会没位呀?:http://tour.shaoqun.com/a/41498.html
珠海市有哪些免费旅游景点?:http://tour.shaoqun.com/a/4102.html
No comments:
Post a Comment