MySQL:如何启用慢速查询日志?

你能给我一个关于如何启用MySQL的慢查询日志的例子吗?

根据文件 :

从MySQL 5.1.29开始,使用–slow_query_log [= {0 | 1}]启用或禁用慢速查询日志,还可以使用–slow_query_log_file = file_name来指定日志文件名。 –log-slow-queries选项已被弃用。

那么我该如何使用这个选项呢? 我可以把它放在my.cnf吗? 一个例子将不胜感激。

正确。

最好把它放在my.cnf文件的通用/全局(顶部)部分。

有两件事需要做:(1)​​启用它,(2)定义日志文件的目的地。

 slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow-query.log 

希望这可以帮助。

这是一件有趣的事情。

MySQL 5.1 / 5.5允许您将慢查询日志转换为MyISAM。

以下是我为我的客户做的事情:

步骤1)将这些行添加到/etc/my.cnf

 log_output=TABLE slow_query_log slow_query_log_file=slow-queries.log 

步骤2)重新启动mysql(服务mysql重启)

此时,表mysql.slow_log存在,但作为存储引擎CSV。

步骤3)将mysql.slow_log转换为MyISAM并索引start_time字段

 SET @old_log_state = @@global.slow_query_log; SET GLOBAL slow_query_log = 'OFF'; ALTER TABLE mysql.slow_log ENGINE = MyISAM; ALTER TABLE mysql.slow_log ADD INDEX (start_time); SET GLOBAL slow_query_log = @old_log_state; 

现在你可以运行SELECT查询了。

试一试。