1

我正在使用 mysql慢查询日志SHOW PROCESSLIST;调试一些慢查询。

MySQL 允许使用标准/* ... */ 语法添加注释。我希望通过在我的查询前面添加评论,可以更容易地发现我们的一些查询的来源。例如,我只是在慢日志中看到很多次,commit所以我知道事务很慢,但我发现很难确定有关查询来源的更多详细信息。

为了测试这个技巧,我正在使用:

 SELECT /* GREP-HOOK */ SLEEP(3);

我希望“GREP-HOOK”评论会出现在SHOW [FULL] PROCESSLIST文件中log/slow-log。然而事实并非如此。

有人知道是否有my.cnf允许评论显示的设置SHOW PROCESSLIST吗?


以供参考:

> mysqld --version
mysqld  Ver 5.5.34-0ubuntu0.13.10.1-log for debian-linux-gnu on x86_64 ((Ubuntu))

(但我也想在Amazon RDS 5.5 中尝试这个)。

4

2 回答 2

2

我正在使用 mysql命令行客户端进行测试。事实证明,命令行客户端在发送到服务器之前会删除注释(这可能是一个错误)。

当我使用 PHP 脚本进行测试时,评论被保留得很好,并按照我的意愿出现在慢日志中。


作为参考,我的mysql客户端版本是:

> mysql --version
mysql  Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (x86_64) using readline 6.2
于 2013-10-31T14:33:54.430 回答
2

如果您使用的是 mysql 客户端,您可以使用--comments, -c选项调用它,以便“保留发送到服务器的评论”(请参阅​​ 参考资料man mysql

于 2016-03-02T18:22:15.617 回答