5

我正在尝试在我的 Mac、OS X 版本 10.8.3 上启用 MySQL 日志记录。

在我搜索的任何地方,我都得到相同的答案,即将以下内容添加到 my.cnf:

[mysqld]
general_log=1
log=/var/log/mysql-query.log

然后重启mysql。

日志文件的权限是正确的,所有者是 _mysql ,就像所有其他 MySQL 文件一样。

但是,不管我尝试了多少,一旦修改了 my.cnf,MySQL 就不会重新启动。它只会关闭,仅此而已。通过命令行或首选项窗格,它不会再次启动。

我也尝试启用 log vie Workbench,但是一旦 log=... 条目进入 my.cnf,MySQL 就会拒绝启动。我必须手动删除此条目才能启动 MySQL。

谁能指导我如何在 OS X 10.8.3 上启用 MySQL 日志记录?

4

3 回答 3

10

好的,终于浪费了一天多的时间,对我有用的是:

general-log
general_log_file = /var/log/mysql-query.log

近 10 年来,在我使用和安装过的所有 Linux 系统中,如果不是更多的话,至少必须有 100 个,它一直是一个简单的条目,例如 [mysqld] 部分下的 log=<path to log file>。显然,我从各种博客等阅读的内容在 Mac 上也是一样的,但是在我正在做的这个特定设置中,这是我第一次像上面那样设置它。

所以我当前工作的 /etc/my.cnf 文件如下:

[client]
socket=/var/mysql/mysql.sock

[mysqld]
socket=/var/mysql/mysql.sock
general-log
general_log_file = /var/log/mysqld.log

我必须做:

touch /etc/my.cnf
chown _mysql /etc/my.cnf 

创建一个。

我也必须这样做:

touch /var/log.mysqld.log
chown _mysql /var/log/mysqld.log

然后通过 Workbench 重新启动 mysql。还尝试通过命令行重新启动,如下所示:

/usr/local/mysql/bin/mysqladmin -uroot -p shutdown
sudo /usr/local/mysql/bin/mysqld_safe &

最重要的是,终于它开始工作了,我可以继续我的一天了。

于 2013-06-14T12:10:21.527 回答
1

我在 Mac Mountain Lion 上运行 MySQL Workbench 5.2.47。上述步骤(创建 /etc/my.cnf、创建 mysql 填充的虚拟日志文件等)都可以在 MySQL Workbench 中完成。

1) 转到服务器管理 -> 选项文件(配置)。2) 设置您的选项,包括“日志”选项卡下“通用日志”的位置。点击“应用”。
3) 启动/关闭 -> 停止服务器 4) 启动/关闭 -> 启动服务器日志记录现在应该为您的所有语句打开。

于 2013-11-13T12:35:31.913 回答
0

@zeeshan 的回答向我指出了写入方向,最重要的是确保权限正确,就像 zeehan 提到的那样。

/etc/my.cnf

[mysqld]
general_log = 1
general_log_file = /var/log/mysql-query.log

然后只需将日志和 my.cnf 文件归为“_mysql”所有。

sudo chown _mysql /var/log/mysql-query.log sudo chown _mysql /etc/my.cnf

应该能够使用 system_preferences 重新启动 mysqld。

于 2014-12-25T11:32:34.873 回答