Ошибка плагина аутентификации при подключении к базе данных MySQL
Я работаю над macOS версии 10.13.5 - самой новой на самом деле.
Я обычно работаю с проектами Laravel (5.6), и поэтому я использую brew services isntaller, чтобы заставить работать локальную среду.
Я использую PHP v 7.1.16, MySQL 8.0.11 и Valet v. 2.0.12
PHP и MySQL устанавливаются через Brew.
Я работал без проблем около 3 месяцев назад, но день, когда мне пришлось переустановить ОС, наконец-то настал.
После переустановки macOS со свежей копией и установки каждой службы в той же версии, что и раньше, я получаю странную ошибку при попытке подключиться к базе данных MySQL через SequelPro.
Вот несколько журналов:
MySQL said: Authentication plugin 'caching_sha2_password' cannot be
loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image
not found
Это странно, так как я довольно долго работал с одним и тем же материалом...
Поэтому я буду признателен за любые советы о том, как справиться с этой проблемой. Также я хотел бы заметить, что я прочитал почти все об этой проблеме, но я не смог найти хотя бы одну с такой конфигурацией, как у меня (большинство из них описывали эту проблему, как при работе с локальной базой данных, предоставляемой mysql или какой-то другой поставщик услуг).
1 ответ
Сообщение об ошибке появляется, потому что MySQL v8 изменил плагин / метод аутентификации по умолчанию, который не имеет обратной совместимости со старыми клиентами. Эту ошибку можно обойти, используя устаревший метод аутентификации, который можно включить для пользователя root, выполнив следующие действия:
После установки MySQL авторизуйтесь с помощью CLI, например
mysql -uroot
Затем выполните следующую команду, чтобы использовать старый метод аутентификации:
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Наконец, удалите привилегии:
FLUSH PRIVILEGES;
Теперь вы должны снова подключиться через SequelPro (используя указанный пароль).