MySQL 常规日志在 Mac OS X 上不起作用

Wim*_*uwe 1 mac-os-x mysql-5.5 log

我想将所有查询记录到我的 MacBook Pro (Mac OS X 10.8.1) 上运行的数据库中。我创建了一个/etc/my.cnf包含以下内容的文件:

[mysqld]
general_log=1
general_log_file=/Users/wdb/mysql.log
Run Code Online (Sandbox Code Playgroud)

我重新启动了 MySQL 并在 mysql 命令行上尝试了一些查询,但没有记录任何内容。文件没有被创建。之后我也自己创建了文件以进行测试touch,但该文件仍然为空。

当我检查时,MySQL 确实读取了我的设置:

mysql> show variables like '%general_log%';
+------------------+----------------------+
| Variable_name    | Value                |
+------------------+----------------------+
| general_log      | ON                   |
| general_log_file | /Users/wdb/mysql.log |
+------------------+----------------------+
2 rows in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

还有什么我需要做的吗?我想我在命令行上输入的任何查询都应该被记录下来,对吧?

我正在使用 MySQL 5.5.24

Wim*_*uwe 5

问题确实如@Phil 所暗示的那样。要修复它,请为_mysql用户设置权限:

> cd ~
> touch mysql.log
> sudo chown _mysql:wheel mysql.log
Run Code Online (Sandbox Code Playgroud)

之后重新启动 MySQL,将使用日志文件。