Ответ 1
Изображение установки MySql: Если вы хотите использовать mysql> = 8 и вам не важно caching_sha2_password, просто выберите вторую опцию при установке.
Я использую php 7.2.2 и mysql 8.0.
Когда я пытаюсь подключиться с помощью правильных учетных данных, я получаю эту ошибку:
PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")
Вам нужна помощь в устранении неполадок.
Изображение установки MySql: Если вы хотите использовать mysql> = 8 и вам не важно caching_sha2_password, просто выберите вторую опцию при установке.
Нашел это где-то, не помню, где (или я бы кредитует), но он работает для меня, пока MySQL 8 не станет лучше. И PHP готов для MySQL caching_sha2_password.
В оболочке MySQL (командная строка, что угодно):
CREATE USER [email protected] identified with mysql_native_password by 'password';
Где имя пользователя - это имя пользователя, а пароль - пароль для этого пользователя.
Затем вы можете добавить разрешения в оболочку - или в Workbench, поскольку пользователь теперь существует с типом аутентификации: стандартный.
alter user 'username'@'localhost' identified with mysql_native_password by 'password';
Как предложено ailionx
здесь: https://github.com/laradock/laradock/issues/1390
Чтобы использовать MySQL 8 (с новым методом аутентификации), вы можете просто обновить свой PHP.
MySQL 8
При запуске версии PHP до 7.1.16 или PHP 7.2 до 7.2.4, установите плагин пароля по умолчанию для MySQL 8 Server на mysql_native_password, иначе вы увидите ошибки, аналогичные запрашиваемому серверу методу аутентификации, неизвестному клиенту [caching_sha2_password], даже если caching_sha2_password не используется