这是/etc/my.cnf的相关部分:
[mysqld] slow-query-log = ON long_query_time = 2 log_slow_queries = /var/log/mysql-slow.log
问题是该文件丢失,即使我touch ,没有写在那里。 我试过将日志位置更改为$datadir/mysql-slow.log ,在/etc/my.cnf文件中,它看起来像这样:
log_slow_queries = mysql-slow.log
我忘了提及mysql-slow.log文件的用户和所有者是mysql。 但它不工作,任何想法如何解决它?
[root@dbsrv ~]# grep slow /etc/my.cnf slow-query-log = ON log_slow_queries = /var/log/mysql/mysql-slow.log slow-query-log = ON log_slow_queries = /var/log/mysql/slow.log [root@dbsrv ~]# ll /var/log/mysql/slow.log ; ll /var/log/mysql/mysql-slow.log -rwxrwxrwx 1 mysql mysql 0 2014-02-04 18:23 /var/log/mysql/slow.log -rwxrwxrwx 1 mysql mysql 0 2014-02-04 18:23 /var/log/mysql/mysql-slow.log [root@dbsrv ~]#
提前致谢
当mysqld启动时它需要由mysqld uid存在和写入,因此:
# touch /var/log/mysql-slow.log # chown mysql /var/log/mysql-slow.log # /etc/init.d/mysqld restart
(或者,而不是重新启动服务器,您可以执行mysqladmin -u root flush-logs)
如果它仍然没有写入文件,请检查确实有缓慢的查询! 并查看MySQL错误日志中的线索。