Lock wait说明出现了锁问题

1.Lock wait说明出现了锁问题

使用 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

查看当前事务,使用SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

查看当前锁定的事务,使用SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

查看当前等锁的事务。使用以上三个sql基本能定位到代码所在位置。

http://www.mamicode.com/info-detail-2845763.html

2.解决方法

应急方法:show full processlist; kill掉出现问题的进程。 ps.有的时候通过processlist是看不出哪里有锁等待的,当两个事务都在commit阶段是无法体现在processlist上
根治方法:select * from innodb_trx;查看有是哪些事务占据了表资源。 ps.通过这个办法就需要对innodb有一些了解才好处理

https://ningyu1.github.io/site/post/75-mysql-lock-wait-timeout-exceeded/

posted @ 2020-11-13 14:24  littlevigra  阅读(1781)  评论(0编辑  收藏  举报