在Mac OS X 10.8.3上编辑my.cnf后无法重新启动MySQL

时间:2013-06-14 10:02:22

标签: mysql macos logging

我正在尝试在Mac上运行MySQL,OS X版本10.8.3。

我搜索到的每个地方,我得到相同的答案,即将以下内容添加到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的日志记录吗?

3 个答案:

答案 0 :(得分:10)

好的,最后浪费了一天以上,对我有用的是:

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

近10年来,在我曾经使用和安装的所有Linux系统中,如果不是更多,它必须至少为100,它一直是一个简单的条目,如log =<记录日志文件的路径>在[mysqld]部分下。显然我在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 &

最重要的是,最终它正在发挥作用,我可以继续我的一天。

答案 1 :(得分:1)

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

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

答案 2 :(得分: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。