Не удается запустить mysql: InnoDB: обновление после сбоя не поддерживается
Я пытаюсь запустить MySQL из установки Homebrew, но при попытке продолжить mysql.server start
,
мой /usr/local/var/mysql/<name>.local.err
читает как так и продолжает отправлять это сообщение об ошибке каждые несколько секунд.
2018-06-20T20:38:54.6NZ mysqld_safe Logging to '/usr/local/var/mysql/<computer name>.local.err'.
2018-06-20T20:38:54.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2018-06-20T20:38:54.379228Z 0 [System] [MY-010116] [Server] /usr/local/opt/mysql/bin/mysqld (mysqld 8.0.11) starting as process 6271
2018-06-20T20:38:54.383128Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2018-06-20T20:38:54.449869Z 1 [ERROR] [MY-012526] [InnoDB] InnoDB: Upgrade after a crash is not supported. This redo log was created with MySQL 5.7.20. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading.html
2018-06-20T20:38:54.449947Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
2018-06-20T20:38:54.919197Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2018-06-20T20:38:54.919769Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-06-20T20:38:54.919814Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-20T20:38:54.920978Z 0 [System] [MY-010910] [Server] /usr/local/opt/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.11) Homebrew.
2018-06-20T20:38:54.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/bae.local.pid ended
3 ответа
У меня были такие же ошибки в моем журнале. Просто чтобы построить ответ Nipponese.
Удалите все версии MySQL (у меня было 5.7.21, 5.7.22 и 8.0.11): brew uninstall --force mysql
Подтвердите удаление и ремонт: brew services list
а потом brew doctor
Переименуйте оригинальный MySQL: mv /usr/local/var/mysql /usr/local/var/old.mysql
Установите последнюю версию MySQL (в настоящее время 8.0.11): brew install mysql
Безопасная установка MySQL: /usr/local/bin/mysql_secure_installation
Я изначально получил эту ошибку: Error: Access denied for user 'dbadmin'@'localhost' (using password: YES)
Я использую конфигурацию уровня пользователя. Поэтому я переименовал.my.cnf и снова запустил безопасную установку.
mv /Users/[your username]/.my.cnf /Users/[your username]/old.my.cnf
/usr/local/bin/mysql_secure_installation
В подсказках установки я ввожу следующие параметры Y, 0, Y, N, N, Y, Y
,
Обновление MySQL Workbench После этого я все еще не мог соединиться с MySQL Workbench (GA 6.3.10), хотя, похоже, он наконец запускал MySQL. Я получаю следующее сообщение об ошибке.
"Плагин аутентификации" caching_sha2_password "не может быть загружен: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): изображение не найдено"
Чтобы решить эту проблему, я скачал MySQL Workbench 8.0.11 rc (версия для разработчиков). Я использовал GUI, чтобы добавить пользователей, которых я имел прежде, чем придерживаться новых правил пароля. Я обновил и переименовал ~/.my.cnf с более безопасным паролем. Затем восстановил мои БД.
В этот момент я смог подключиться к рабочему столу, используя root и новый пароль, который я установил во время безопасной установки.
Очистить (удалить переименованный каталог и его содержимое): rm -r /usr/local/var/old.mysql
tldr; Новая версия mysql была установлена через Homebrew. Вернитесь к ранее установленной версии.
brew switch mysql X.X.XX` and `brew services restart mysql
Вся история в том, что вы, вероятно, установили более новую версию MySQL с brew upgrade
, Просмотрите вывод brew info mysql
, Вы можете увидеть более одной версии.
В моем случае я видел оба следующих:
/usr/local/Cellar/mysql/5.7.17
/usr/local/Cellar/mysql/8.0.11
Я проверил mysql --version
и более новый 8.0.11 был запущен.
Доморощенный включает в себя switch
Команда, которая позволяет вам сделать это между службами.
Выполните это, заменив версию своей собственной:
brew switch mysql 5.7.17
Перезапустите mysql:
brew services restart mysql
Все должно быть в рабочем состоянии.
Похоже, проблема была в предыдущей установке в /usr/local/var/mysql
,
После удаления через доморощенный, удаление /usr/local/var/mysql
, Бег brew doctor
и переустановка через homebrew, проблема ушла.