0
点赞
收藏
分享

微信扫一扫

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/

用一个例子来演示会更加清晰



举报

相关推荐

0 条评论