ITPub博客

首页 > 数据库 > MySQL > 【MySQL】慢日志大量生成 long-query-time “失效”问题

【MySQL】慢日志大量生成 long-query-time “失效”问题

原创 MySQL 作者:神谕丶 时间:2015-09-29 17:40:05 0 删除 编辑
记一次long query time“失效” 导致slow query log大量写入的问题


【问题描述】:
情况是这样的,准备修改一台db server的mysql慢查询日志的配置,目前是写在/var/log/mysql中的log中。
想要修改存放到表中。
修改slow-log的output无意发现:


条件设置为query_time=00:00:00时,居然有5000多条,惊呆了。(并且持续增长)
mysql> select count(*) from mysql.slow_log where query_time='00:00:00';


继续执行了重复的命令,发现数量仍然在增加。
第一反应是不是long query time太短,立马查询了一下:
mysql> show variables like '%long_query%';  发现并不短。







翻了一下文档:
有一个全局的动态生效的“log_queries_not_using_indexes”参数,
这个参数官方给出的解释大概意思是“只要没有用索引的任何查询都将会被记录到slow query log中”。


在server中查了一下这个参数。。
mysql> show variables like '%index%';
果然是ON的状态。而且可以动态修改,不需要停服务。
赶紧关闭……

【解决方案】:
mysql> set global log_queries_not_using_indexes=OFF;



同时检查my.cnf,将该值设置为OFF,以保证库重启之后不再打开该值。

基本搞定。


作者公众号(持续更新)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29773961/viewspace-1811829/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
微信公众号:神谕的暗影长廊

注册时间:2014-07-28

  • 博文量
    161
  • 访问量
    1195302