排查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 中没有数据

如果产生所等待,查询这三张表,找到对应线程,杀掉。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM