安装 mysql 5.5 时出错,严重错误:找不到 my_print_defaults

安装 mysql 5.5 时出错,严重错误:找不到 my_print_defaults

我使用 Homebrew 安装了 Mysql 5.5,具体来说是 Homebrew 版本 -https://github.com/Homebrew/homebrew-versions。安装后,我尝试运行它建议的命令:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
...

但是,第二行导致错误。当我运行:

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

我收到以下错误:

严重错误:无法找到 my_print_defaults

搜索了以下目录:

/usr/local/Cellar/mysql/5.6.10/bin
/usr/local/Cellar/mysql/5.6.10/extra

也许这是因为即使我在执行此操作之前运行了“brew uninstall mysql”,脚本也会默认在我的旧 mysql 5.6 目录中搜索文件。

但是,如果我指定新的 mysql 安装目录,仍然会出现错误:

$ mysql_install_db --verbose --user=`whoami` --basedir="$/usr/local/Cellar/mysql55/5.5.30" --datadir=/usr/local/var/mysql --tmpdir=/tmp

FATAL ERROR: Could not find my_print_defaults

The following directories were searched:

    $/usr/local/Cellar/mysql55/5.5.30/bin
    $/usr/local/Cellar/mysql55/5.5.30/extra

这很奇怪,因为如果我 ls 该目录,第一个目录确实包含 my_print_defaults。

那么为什么我仍然收到这个错误?

答案1

我遇到了同样的问题。部分原因是你的 mysql_install_db 行不正确。正如我记录的这里,您必须执行以下步骤 - 包括运行 mysql_install_db 命令之前的步骤 - 以避免后续错误:

  1. 将名称更改/usr/local/opt/mysql55/share/mysql55/usr/local/opt/mysql55/share/mysql
  2. 运行以下命令(与上面相同,但 --datadir 参数有一个变化):

    mysql_install_db --verbose --user= whoami--basedir="$(brew --prefix mysql55)" --datadir=/usr/local/var/mysql55 --tmpdir=/tmp

如果您查看 mysql 安装时的输出,则会发现 datadir 设置为 /usr/local/var/mysql55。

  1. 将 /usr/local/opt/mysql55/share/mysql 重命名回 /usr/local/opt/mysql55/share/mysql55
  2. 启动服务器

步骤 3 是必要的,因为在尝试启动 mysql 服务器时收到“服务器退出而不更新 PID 文件...”错误,并且 apache 错误日志显示尝试查找时出现错误/usr/local/opt/mysql55/share/mysql55/english/errmsg.sys

相关内容