我试过在MacOS下用命令行启动MySQL,但总是报错:
~ mysql.server start
my_print_defaults: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
Starting MySQL
.my_print_defaults: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
my_print_defaults: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!
my_print_defaults: [ERROR] Fatal error in defaults handling. Program aborted!
我查了一下错误,大部分的答案是在my.cnf中添加[mysqld],我检查了my.cnf文件,它已经有了[mysqld]标签。 这是my.cnf,在我通过Reinstalling Mysql on Mac via Homebrew · GitHub重装MySQL之前是不存在的
Default Homebrew MySQL server config
[mysqld]
Only allow connections from localhost
bind-address = 127.0.0.1
secure_file_priv=''
然后我发现另一种可能的方法是将字符集更改为ANSI或ASCII,于是我查看了my.cnf文件,但它是ASCII编码。
~ enca -L none /usr/local/etc/my.cnf
7bit ASCII characters
我试着停止并重新启动,仍然出现同样的错误。顺便说一句,我使用了另一个命令,它显示了不同的错误:
~ service mysql restart
zsh: command not found: service
所以我更改了 $PATH
配置,它仍然无法正常工作。
终于在系统偏好设置里发现可以启动MySQL了,但是配置文件是空的,我改成/usr/local/etc/my.cnf
运行,显示MySQL server开始。我可以使用查询并连接到数据库。
但是,当我使用上面的命令时仍然出现相同的错误,而且我无法在 MySQL Workbench 中使用数据导出。我跑了 /usr/local/mysql-8.0.12-macos10.13-x86_64/bin/mysqldump
,它显示了同样的错误。
请帮忙。
最佳答案
请确保您的my.cnf
文件使用#
符号作为注释行。您看到的错误看起来像是您从某些行中删除了井号。这是我自己的 my.cnf
文件的样子,请注意有些行以 #
开头,这样它们就不会被 MySQL 视为指令:
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
关于MySQL 在终端中不工作,但可以连接到数据库并使用查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53041039/