这是来自的相关部分/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 ~]#
提前致谢
答案1
它需要存在并且可由 mysqld uid 写入当 mysqld 启动时, 因此:
# touch /var/log/mysql-slow.log
# chown mysql /var/log/mysql-slow.log
# /etc/init.d/mysqld restart
(或者,不用重新启动服务器,您可以执行 mysqladmin -u root flush-logs)
如果仍然没有写入文件,请检查您的查询是否确实很慢!并查看 MySQL 错误日志以寻找线索。