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
问题确实如@Phil 所暗示的那样。要修复它,请为_mysql
用户设置权限:
> cd ~
> touch mysql.log
> sudo chown _mysql:wheel mysql.log
Run Code Online (Sandbox Code Playgroud)
之后重新启动 MySQL,将使用日志文件。