慢查询未记录
我试图在我们的服务器上启用慢速查询日志记录,以便识别可以使用优化的任何查询。听起来很简单,但是没有写入我的文件。我没有收到任何错误或类似信息,似乎没有记录缓慢的查询。我记得配置更改后重新启动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。感谢大家的帮助,我学会了分配!