Ошибка MySQL: плагин аутентификации "кэширование пароля sha2" не может быть загружен
Я только что установил MySQL Ver 14.14 Distrib 5.7.22 с Homebrew на моем macOS v10.13.4.
Я выполнил команду:brew install mysql
после завершения установки, как указано Homebrew, я запустил команду:mysql_secure_installation
и была возвращена ошибка: Error: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql/5.7.22/lib/plugin/caching_sha2_password.so, 2): image not found
я попробовал несколько вещей, таких как изменение default_authentication_plugin на mysql_native_password в my.cnf файл, но он по-прежнему выдает ту же ошибку.
затем я попробовал бег:mysql_upgrade -u root
и мне снова бросили ту же ошибку mysql_upgrade: Got error: 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql/5.7.22/lib/plugin/caching_sha2_password.so, 2): image not found while connecting to the MySQL server
Upgrade process encountered error and will not continue.
любая помощь приветствуется.
3 ответов
Итак, я нашел запущенный процесс mysqld по sudo lsof -i tcp:3306
затем я убил его с помощью sudo kill -9 <PID>
.
после этого я пробовал mysql_secure_installation
снова, но столкнулся с новой ошибкой :
ошибка: не удается подключиться к локальному серверу MySQL через socket '/tmp/mysql.и Sock' (61)
после попытки нескольких исправлений для получения mysql.носок для работы, я запустил сервер MySQL с С mysql_secure_installation
Установить пароль для пользователя root.
это сработало для меня, наконец.
Примечание: Homebrew просит вас сначала сделать
mysql_secure_installation
перед запуском сервера MySQL в первый раз, но это просто заставило меня запустить в бесконечный цикл ошибок.
перезапустите сервер mysql, чтобы принять изменения в affect и попытаться подключиться через mysql с любым клиентом mysql.
в противном случае используйте docker
docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password
mysql -uroot --protocol tcp
связанный вопрос.
плагин аутентификации "caching_sha2_password" не может быть загружен
я понял, что это должно быть проблемой с установленной версией mysql. Так же, как выше, вы должны сначала найти, а затем убить процесс mysqld, прикрепленный к порту 3306
sudo lsof -i tcp:3306
sudo kill -9 <Peocess ID>
затем обновите установку mysql через brew, в этом случае:
brew upgrade mysql
Это должно решить.Запуск mysql после обновления должен запустить ваш сервер после установки.
Эл.г mysql -u root -p [your password here]