![MySQL 无法识别文件选项上的变量](https://linux22.com/image/1363697/MySQL%20%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB%E6%96%87%E4%BB%B6%E9%80%89%E9%A1%B9%E4%B8%8A%E7%9A%84%E5%8F%98%E9%87%8F.png)
我在 Mac OS X 10.8 上使用 MySQL 5.6,并尝试配置 mysql 以将 generral_log 记录到文件中。但是,启动它时总是会抛出错误。
该.my.cnf
文件如下所示(位于我的主目录中):
[mysqld]
general_log=/var/tmp/mysql/mysqld.log
log_error = /var/tmp/mysql/mysqld.error.log
[mysql]
log_error = /var/tmp/mysql/mysqld.error.log
#general_log_file = /var/tmp/mysql/mysqld.log
#auto-rehash
每当我在终端上启动 mysql 客户端时,它都会抛出如下错误:
mysql: unknown variable 'log_error=/var/tmp/mysql/mysqld.error.log'
无论我将其更改为 log-error,我仍然会收到该错误。如果我在 [mysql] 会话中注释掉 log_error 行,它就可以正常工作。
另外,当我启动mysqld_safe
(在/usr/local/mysql/bin
)时,它只能识别log_error
变量,但无法识别general_log
。但是,与 不同mysql
,mysqld_safe
并没有给我任何错误。
你能帮我解决这个棘手的虫子吗?
答案1
/etc/my.cnf
在群底下也认得[mysqld]
。
该选项不存在mysql 客户端程序并且在组标题下无法被理解[mysql]
。
原因在组标题log-error
下起作用[mysqld_safe]
?任何 mysqld_safe 无法理解的选项都会传递给[mysqld]
。
mysql 客户端程序无法重新路由 的目标文件log-error
。您必须在 中更改它my.cnf
并重新启动。它不会对[mysqld]
中的组头产生影响,.my.cnf
因为log-error
不是动态变量。
答案2
客户mysql
端工具无法识别该log_error
选项,您不应尝试使用它。