Ошибка 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

попробуйте в PWD

связанный вопрос.

плагин аутентификации "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]