Mysql慢查询日志已打开但不记录任何内容

roc*_*bkw 7 mysql

运行:
Ubuntu服务器10.04
Mysql 5.1.41

我在 /etc/mysql/my.cnf 中有以下内容

slow_query_log = 1
slow_query_log_file = /var/log/mysqld/log-slow-queries.log
long_query_time = 1
Run Code Online (Sandbox Code Playgroud)

日志文件应该是可写的

drwxrwxrwx  2 mysql mysql    4096 2010-10-20 13:41 mysqld
-rwxrwxrwx  1 mysql mysql    0    2010-10-20 13:41 log-slow-queries.log
Run Code Online (Sandbox Code Playgroud)

日志或 mysql.slow_log 表中没有显示任何内容。貌似已经启用了

mysql> show variables like '%SLOW%';
+---------------------+--------------------------------------+
| Variable_name       | Value                                |
+---------------------+--------------------------------------+
| log_slow_queries    | ON                                   |
| slow_launch_time    | 2                                    |
| slow_query_log      | ON                                   |
| slow_query_log_file | /var/log/mysqld/log-slow-queries.log |
+---------------------+--------------------------------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

这是否意味着我没有缓慢的查询?我尝试跑步,select sleep(3);但没有出现。

如果一切配置正确,是否有一个我可以运行的查询会显示在日志中?

小智 5

我有同样的问题。阅读本文后解决了它:/sf/answers/830291381/

为了启用慢查询日志记录,您需要首先启用常规日志记录。

只需将“general_log”设置为“ON”(在 my.cnf 中)

general_log = 1
Run Code Online (Sandbox Code Playgroud)

  • @tiagojco 要么编辑你不正确的答案(你可以这样做),要么删除它,以避免误导人们得到不好的结果。请全盘曝光。打开 GENERAL LOG 与慢查询日志的有用性无关。 (4认同)
  • 这个问题是关于一般查询日志的,而不是关于慢查询日志的。开启通用查询日志并不能解决这个问题。 (3认同)

Bry*_*ite 3

慢查询日志包含执行时间超过 long_query_time 秒且(从 MySQL 5.1.21 开始)至少需要检查 min_examined_row_limit 行的所有 SQL 语句。

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

你准备做什么min_examined_row_limit