Как настроить доктрину (Symfony 4) для подключения к MySQL 8.0?

У меня такая ошибка:

PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]

Я знаю, что MySQL изменил метод аутентификации в версии 8, но как мне обновить драйвер до последней версии и подключиться к нему в доктрине (Symfony 4)?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
7
0
6 846
1

Ответы 1

Мне помог ответ 黃皓哲 на этот пост: php mysqli_connect: метод аутентификации неизвестен клиенту [caching_sha2_password]

В нем говорится, что система аутентификации изменилась в последних версиях MySQL, поэтому при ее установке вам может быть предложено выбрать, хотите ли вы использовать старую систему или новую, если вы выбрали новую, вам нужно укажите на данный момент, что пользователь Doctrine должен использовать старую систему. Для этого вам необходимо сделать следующее:

ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';

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