慢查询未记录


13

我试图在我们的服务器上启用慢速查询日志记录,以便识别可以使用优化的任何查询。听起来很简单,但是没有写入我的文件。我没有收到任何错误或类似信息,似乎没有记录缓慢的查询。我记得配置更改后重新启动mysql。

我正在使用MySQL Ver 5.1.61。这是my.cnf中的内容:

slow-query-log=1
slow-query-log-file=/var/logs/my.slow.log
long_query_time=1

文件/var/logs/my.slow.log以mysql作为所有者,也是出于调试的目的,我对日志文件进行了所有读/写操作。

我在上面将long_query_time设置为1,因为我只是想看看它是否在工作。我尝试将其设置得较低(例如0.3),但仍然没有记录任何内容。我知道我的应用程序正在运行的查询需要1秒钟以上的时间,并且我还故意SELECT sleep(10);在终端中运行了查询日志()进行测试,并且该日志仍然为空。

我看了看文档,从中可以看出这应该行得通。有人对我做错了什么建议吗?任何建议将不胜感激,非常感谢!

编辑:根据评论中的要求,我运行了查询:

 `SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');`

结果:

10.0000000
/var/run/mysqld/mysqld-slow.log
OFF

显然,我的配置更改没有考虑在内,因为我相信这些是默认设置。我非常确定我正在修改的my.cnf文件已被解析,好像我输入了无效值一样mysql重启时将出错。这可能是怎么回事?

另一个编辑:

采纳@RolandoMySQLDBA的建议并将慢速查询配置行移至[mysqld]我的设置后,似乎可以节省。现在,上面的variable_value查询的结果是:

1.0000000
/var/logs/my.slow.log
ON

但是我仍然没有看到文件my.slow.log被写入。我认为这不是权限问题,因为该文件由mysql拥有,并且我已为该文件上的所有用户添加了所有权限。有人能想到为什么这样不起作用的原因吗?

编辑:解决了!慢查询日志的路径不正确,应该是/var/log/my.slow.log而不是/ var / log * s * / my.slow.log。感谢大家的帮助,我学会了分配!


1
请运行SELECT variable_value FROM information_schema.global_variables WHERE variable_name IN ('slow_query_log','slow_query_log_file','long_query_time');并发布其输出。
RolandoMySQLDBA

1
如果在阅读本文后仍有任何问题,请检查log_output变量。SET GLOBAL log_output=FILE为我修复它。
molholm

Answers:


21

我想我得到了答案:

你需要把下这些选项[mysqld]部分

[mysqld]
slow-query-log=1
slow-query-log-file=/var/logs/my.slow.log
long_query_time=1

然后重启mysql

更新2013-03-05 16:36 EST

我不知道为什么这种情况仍在发生,但是请尝试以下操作:

service mysql stop
rm -f /var/logs/my.slow.log
touch /var/logs/my.slow.log
chown mysql:mysql /var/logs/my.slow.log
service mysql start

然后运行SELECT SLEEP(10);,看看它是否降落/var/logs/my.slow.log


谢谢!您的建议提供了帮助,看来设置可以正确保存,但是我仍然没写东西。我已经编辑了问题以反映这一点。
TheMethod 2013年

嘿,只是好奇,我正在虚拟机下运行Debian系统。回复中的路径正确吗?/var/logs/而不是/var/log
Silviu-Marian

只是信息。在CentOS 6.6 mysql 5.1.73环境中,“ touch&chown”也是必需的。
Fumisky Wells 2015年

我只是在一个系统上遇到了他们试图将其放入的系统,但[mysqld_safe]没有用。把他们放在下面[mysql]解决了这个问题。
迈克尔·汉普顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.