Ошибка плагина аутентификации при подключении к базе данных 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 (используя указанный пароль).

Другие вопросы по тегам