我有一个MySQL 5.6服务器,我们使用Nagios监视它。
在周末,它开始抱怨Innodb_row_lock_current_waits,它目前的值为18446744073709551615,是的,超过10^19!据我所知,这个值是当前行锁的数量。基本上,我不相信,这个数字太大了?
正如菲尔指出的,这个数字是2^64-1,所以现在我的问题是:为什么MySQL要返回这个数字,它必须是某种类型的溢出/错误代码。
发布于 2016-07-01 16:37:04
对于MySQL 5.6.14,有一个打开的bug报告
Bug #71520不断增加Innodb_划_锁定_当前_等待值
从bug报告中,注意以下条目
2015年年6月25日6:58振业谢在我的环境中,我得到了一个奇怪的价值。(-1作为uint64) mysql>显示状态,其中Variable_name = 'Innodb_row_lock_current_waits';+-------------------------------+----------------------+ Variable_name值++srv_stats.n_lock_wait_current_count.inc() srv_stats.n_lock_wait_current_count.dec();线不安全。srv_stats是一个全局变量,但它只对trx有一个锁,用于更改值。
你说it must be an overflow/error code of some sort的时候是对的
就在今年6月14日,这个问题可能在MySQL 5.7.11中存在,也可能不存在。
6月14日9:55 A MySQL ngel或早上好,我在MySQL 5.7.11日志中看到了这一点: mysql>显示状态,如'%Innodb_row_lock_current%';+++
发布于 2016-07-01 18:13:12
MySQL还有-1存储在无符号字段中的其他情况。通过http://bugs.mysql.com报告,然后不用担心。
https://dba.stackexchange.com/questions/142343
复制相似问题