我试图在MySQL v5.0.45 (编译OS: redhat-linus-gnu)上打开慢查询的日志记录,但是我似乎不能让它工作。我试着添加...
long_query_time = 1添加到我的/etc/my.cnf文件,作为mysqld部分下的最后一个选项,然后我使用以下命令重新启动...
sudo /sbin/service mysqld restart --log-slow-queries=/var/log/slowqueries.log然后我运行了一些程序,我知道SELECT查询大约需要6-8秒,但是我在任何地方都找不到日志。有什么想法吗?
发布于 2013-11-25 04:49:27
对于MySQL 5.0,您要在my.cnf中使用的变量为:
log-slow-queries = /var/log/mylogname.log您需要手动创建此文件,并将所有权和组设置为mysql。您可以在命令行上使用以下命令执行此操作:
touch /var/log/mylogname.log
chown mysql /var/log/mylogname.log
chgrp mysql /var/log/mylogname.log您还可以使用以下命令设置您认为“长”的时间长度:
long_query_time = 2可以使用以下命令添加在没有索引的情况下执行的查询:
log-queries-not-using-indexes但是,这可能会很快填满你的日志。
我发现有些变量使用下划线,有些变量使用连字符,这很奇怪,而且根据设置变量的方式不同,可以通过my.cnf或命令行进行设置。下面是可以在MySQL 5.0中设置的所有系统变量的列表:http://dev.mysql.com/doc/refman/5.0/en/server-options.html
另一件奇怪的事情是:这篇文档说log-log queries是一个布尔值,当我检查我的全局变量(在mysql中,输入'show global variables;')时,它将这个值显示为'ON',而不是我设置的文件路径。不管怎样,这对我很有效,它写了这个文件。
发布于 2012-09-14 22:19:25
在/etc/my.cnf中添加log_slow_queries = /var/log/mysql/slowqueries.log,然后像往常一样重启mysql,例如sudo service mysqld restart并尝试一下。
https://stackoverflow.com/questions/12426182
复制相似问题