2

Я установил Mysql 5.5, используя Homebrew, в частности версии 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

Я получаю следующую ошибку:

FATAL ERROR: не удалось найти my_print_defaults

Были найдены следующие каталоги:

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

Возможно, это связано с тем, что по умолчанию скрипт выполняет поиск файлов в моем старом каталоге mysql 5.6, хотя перед этим я запустил "brew uninstall mysql".

Тем не менее, если я указываю новый каталог установки 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

Это странно, потому что первый каталог действительно содержит my_print_defaults, если я это каталог.

Почему же я все еще получаю эту ошибку?

1 ответ1

2

Я столкнулся с этой же проблемой. Частично проблема в том, что ваша строка 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 необходим, потому что вы получаете сообщение об ошибке «Сервер вышел без обновления файла PID ..» при попытке запустить сервер mysql, а в журнале ошибок apache отображаются ошибки при попытке найти /usr/local/opt/mysql55/share/mysql55/english/errmsg.sys .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .