为什么我的mysql慢速查询日志是空的?
我在生产机器上有以下设置:为什么我的mysql慢速查询日志是空的?,mysql,mysql-slow-query-log,Mysql,Mysql Slow Query Log,我在生产机器上有以下设置: Mysql服务器5.5.19 活动(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服务器5.5.19
活动(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%”;-->显示“使用索引记录查询”和“记录慢速查询”选项
文件/opt/app/mysql/log/mysqld-slow.log存在,属于mysql,长度为零
问题是,在一台测试机器上,由于日志查询没有使用索引选项,我们的低查询日志很快就被填满了。我们禁用了它,因为它无论如何都需要。现在,我们刚刚开始使用生产数据库,并希望确保相同的事情不会发生在我们身上,我们发现了相同的设置,但日志是空的。我们不能只是重新启动mysqld然后到处玩,因为我们现在是实时的。我只是想理解为什么日志是空的,尽管配置似乎表明它应该记录lotsa查询。在生产服务器和测试服务器上运行的一般应用程序是相同的,因此实际上不太可能发生未索引的查询
所以问题是:我可以检查什么其他配置来查看为什么没有记录任何内容?我不希望它被记录,我只是想确保它不会突然开始疯狂地记录,如果数据库服务器由于某种原因重新启动。我知道我可以通过简单地从my.cnf中删除该选项来实现这一点,但我也想了解为什么它现在没有登录
谢谢,
EthanMySQL 5.0版对日志记录功能进行了一些重大更改 日志记录由变量控制。请注意
NONE
表示总体上没有日志记录。您可以这样检查此变量的值:
mysql> SHOW VARIABLES LIKE "log_output";
在您的情况下,您希望对文件进行缓慢的日志记录,因此可以执行以下操作:
mysql> SET GLOBAL log_output=FILE;
mysql> SET GLOBAL slow_query_log=ON;
MySQL 5.0版对日志记录功能进行了一些重大更改 日志记录由变量控制。请注意
NONE
表示总体上没有日志记录。您可以这样检查此变量的值:
mysql> SHOW VARIABLES LIKE "log_output";
在您的情况下,您希望对文件进行缓慢的日志记录,因此可以执行以下操作:
mysql> SET GLOBAL log_output=FILE;
mysql> SET GLOBAL slow_query_log=ON;
可能您的查询运行时间不超过1秒 您可以运行类似于
SELECT SLEEP(10)
的查询,因此它肯定会长于long\u query\u time
,并将被记录
也可能是查询正在写入文件,但您已经删除了旧的日志文件。因此,服务器仍在向解除关联的文件描述符写入数据。您可以通过lsof
确认这一点
您可以强制服务器关闭并重新打开日志文件,而无需重新启动mysqld。这将放弃已解除关联的文件。您可以通过以下两种方式之一执行此操作:
FLUSH LOGS
,或者设置全局变量slow\u query\u log=0
,然后slow\u query\u log=1
,您的查询运行时间可能不会超过1秒
您可以运行类似于SELECT SLEEP(10)
的查询,因此它肯定会长于long\u query\u time
,并将被记录
也可能是查询正在写入文件,但您已经删除了旧的日志文件。因此,服务器仍在向解除关联的文件描述符写入数据。您可以通过lsof
确认这一点
您可以强制服务器关闭并重新打开日志文件,而无需重新启动mysqld。这将放弃已解除关联的文件。您可以通过以下两种方式之一执行此操作:
FLUSH LOGS
或设置全局变量slow\u query\u log=0
然后slow\u query\u log=1
log\u输出当前为文件。所以这不是什么都没有被记录的原因…日志输出当前是文件。所以这不是什么都没有被记录的原因…伟大的答案。对我来说,这个工作和缓慢的查询日志开始弹出与信息大的答案。对我来说,这个工作和缓慢的查询日志开始弹出的信息