排查MySQL事务没有提交导致 锁等待 Lock wait timeout exceeded
Posted 小白兔奶糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排查MySQL事务没有提交导致 锁等待 Lock wait timeout exceeded相关的知识,希望对你有一定的参考价值。
解决思路:
select * from information_schema.innodb_trx 之后找到了一个一直没有提交的只读事务,
kill 到了对应的线程后ok 了。
转载自:http://blog.sina.com.cn/s/blog_6bb63c9e0100s7cb.html
在mysql5.5中,information_schema 库中增加了三个关于锁的表(MEMORY引擎);
innodb_trx ## 当前运行的所有事务
innodb_locks ## 当前出现的锁
innodb_lock_waits ## 锁等待的对应关系
## 产生事务,在innodb_trx就有数据 ;
mysql> select * from information_schema.innodb_trx G;
如果没有产生锁等待,innodb_lock_waits 和innodb_locks 中没有数据
如果产生所等待,查询这三张表,找到对应线程,杀掉。
以上是关于排查MySQL事务没有提交导致 锁等待 Lock wait timeout exceeded的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded
MySQL事务没有提交导致 锁等待Lock wait timeout exceeded异常的处理办法