拉出我的头发,似乎无法找到我的问题的答案 . 我在OSX Yosemite上运行MYSQL 5.6.26 . 我只是想尝试记录我的查询 .
我已将my.cnf文件放在/ usr / local / mysql中,并在[mysql]下添加了两行(我实际上必须输入它们而不是仅取消注释现有行):
general_log=1
general_log_file=/usr/local/mysql/mysql.log
在my.cnf上执行ls -l会产生:
-rw-r--r-- 1 root wheel 1002 Nov 10 19:01 my.cnf
这看起来很奇怪 . 为什么_mysql不是所有者?
我首先尝试进行上述更改,并通过“系统偏好设置”停止并重新启动sql server,但这不起作用 .
我已经尝试将my.cnf的所有权更改为_mysql,在目录/ usr / local / mysql中创建mysql.log并使所有者_mysql也无济于事 .
有点疯狂,因为我觉得这不应该那么难 . 如何启用mysql的日志记录?
3 回答
我在尝试设置mySQL 5.7 Community Edition上的日志时遇到了这篇文章 . 此版本附带一个启动守护程序
/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
,它将替换my.cnf文件以进行新安装 . 您可以在plist文件中添加启动参数以启用日志记录:--log-output
,--general_log
,slow_query_log
,例如:更多信息可在以下网址找到:
https://dev.mysql.com/doc/refman/5.7/en/osx-installation-launchd.html https://dev.mysql.com/doc/refman/5.7/en/log-destinations.html
默认情况下,在标准安装的OSX上不使用配置文件 . 如果你想让服务器拿起一个自动将它放入/ etc(即/etc/my.cnf),这真的最终在/private/etc/my.cnf,但这是透明的 .
另一个选项是在服务器启动时指定选项文件(通过--defaults-file参数):
在接受了John Elemans的建议之后,我使用了mySQL工作台,打开了一个本地实例,在左侧是一个名为“Instance”的区域,其中包含指向“Server Logs”的链接 . 错误日志显示我在my.cnf中指定的日志文件不存在 . 所以我在/ usr / local / mysql中创建了日志文件mysql.log,并通过WorkBench重新启动了服务器 . 查看错误日志并抛出错误,说mysql无法打开文件 . 已检查的权限和_mysql不是所有者 . 所以我从root到_mysql为日志文件做了一个chown,重新启动了服务器,然后瞧'...它正在工作 . 谢谢大家 .
不确定如何接受John的答案作为正确答案,所以我只选择这个答案,因为它为其他人回答了问题 .