我在生产机器上有以下设置:
Mysql server 5.5.19
the active(检查 ps 行)my.cnf 包含:
slow_query_log
slow_query_log_file =/opt/app/mysql/log/mysqld-slow.log
long_query_time = 1
general_log = OFF
general_log_file =/opt/app/mysql/log/mysqld.log
log-queries-not-using-indexes
mysql> 显示变量,如“log%”;--> 显示“log_queries_not_using_indexes=ON”和“log_slow_queries=ON”
文件 /opt/app/mysql/log/mysqld-slow.log 存在,属于 mysql,长度为零。
问题是,在测试机器上,由于 log-queries-not-using-indexes 选项,我们的 eslow 查询日志迅速填满。我们禁用了它,因为它无论如何都需要。现在我们刚刚使用我们的生产数据库并希望确保同样的事情不会发生在我们身上,并找到了相同的设置,但日志是空的。我们不能只是重新启动 mysqld 并到处玩,因为我们现在还活着。我只是想了解为什么日志是空的,尽管配置似乎表明它应该记录lotsa 查询。在生产和测试服务器上运行的一般应用程序是相同的,因此实际上不太可能没有发生未索引的查询。
所以问题是:我可以检查哪些其他配置以查看为什么没有记录任何内容?我不希望它被记录,我只是想确保如果由于某种原因重新启动数据库服务器,它不会突然开始疯狂地记录。我知道我可以通过简单地从 my.cnf 中删除该选项来实现这一点,但我也想了解为什么它现在没有记录。
谢谢,伊桑