mysql查看数据库锁等待排查笔记

实验版本:5.7.27

 命令如下:

mysql> use information_schema;

 

 

mysql> select count(*) from INNODB_LOCK_WAITS;

 

+----------+

 

| count(*) |

 

+----------+

 

|        50 |

 

+----------+

 

1 row in set, 1 warning (0.00 sec)

 

 

SHOW ENGINE INNODB STATUS\G

 

查看输出得信息进行排查,或者执行以下命令

/usr/bin/mysql -Ne "SHOW ENGINE INNODB STATUS\G" > test.txt

有可能会提示需要root用户名和密码。

 

下载所有信息test.txt进行分析。可以看到如下信息:

 

 

 

可以得知DETECTED DEADLOCK:

 

此数据库执行update testtab1 set cr_member_version=cr_member_version+1 where cr_roomid='C430858'update testtab1 set cr_member_version = cr_member_version+1 where cr_roomid in (select ctm_roomid from testtab2 where ctm_ipocid = '1440284405946')  and cr_status = 0等操作,数据库出现了锁等待。

需要进一步找开发人员分析业务逻辑,排查锁等待原因。

 

 

 

 

posted @ 2024-03-19 13:54  阿星777  阅读(126)  评论(0编辑  收藏  举报