让一般日志在 MySQL 5.6.8 中工作

Ben*_*rel 3 mysql

我无法让通用日志在这个版本的 MySQL 中工作。

我添加了以下几行/usr/my.cnf

general_log = 1
general_log_file = "/var/log/mysql.log"
Run Code Online (Sandbox Code Playgroud)

然后重启服务器:

[root@localhost ~]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
Run Code Online (Sandbox Code Playgroud)

设置似乎被考虑在内:

mysql> SHOW VARIABLES LIKE 'general_log%';
+------------------+--------------------+
| Variable_name    | Value              |
+------------------+--------------------+
| general_log      | ON                 |
| general_log_file | /var/log/mysql.log |
+------------------+--------------------+
2 rows in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

但永远不会创建日志:

[root@localhost ~]# mysqladmin flush-logs
[root@localhost ~]# ls -al /var/log/mysql.log
ls: cannot access /var/log/mysql.log: No such file or directory
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

Rol*_*DBA 5

这似乎是一个笨拙的创可贴,但现在请尝试以下...

service mysql stop
touch /var/log/mysql.log
chown mysql:mysql /var/log/mysql.log
service mysql start
Run Code Online (Sandbox Code Playgroud)

这应该有效。请记住,MySQL 5.6.8 未通过 GA 认证。

请回看数据库主文件夹(运行SHOW VARIABLES LIKE 'datadir';

转到该文件夹​​并查看是否出现默认的常规日志。

您也可以尝试将其更改为

general_log = 1
general_log_file = mysql.log
Run Code Online (Sandbox Code Playgroud)

并查看mysql.log重新启动mysql后是否出现在您的datadir文件夹中