Плагин аутентификации ‘caching_sha2_password’ не поддерживается с помощью Flask-Sqlalchemy и MySQL

#mysql #flask-sqlalchemy

#mysql #flask-sqlalchemy

Вопрос:

Я подключаюсь к базе данных MySQL (8.0) с помощью Flask, вот ошибка:

 Authentication plugin 'caching_sha2_password' is not supported
 

Я создал базу данных ‘user’ с помощью этой команды sql:

 ALTER USER 'my_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
quit;
 

Однако я продолжаю получать ту же ошибку. Как я могу решить эту проблему?

Я подозреваю, что устаревший плагин больше не может использоваться, поскольку я пытался включить его в my.cnf файл, и сервер MySQL не удалось запустить после перезапуска.

Комментарии:

1. нет, это работает по-прежнему, и в вашем коде нет ошибок, поэтому, пожалуйста, отправьте точное и полное сообщение об ошибке

2. @nbk Точный вывод ошибки: sqlalchemy.exc.NotSupportedError: (mysql.connector.errors.NotSupportedError) Authentication plugin 'caching_sha2_password' is not supported (Background on this error at: http://sqlalche.me/e/13/tw8g)

3. Пожалуйста, прекратите использовать и публиковать «сбросьте привилегии» с помощью ALTER USER или SET PASSWORD или любого стандартного изменения пользователя, оно не требуется.

Ответ №1:

Использование этого uri помогло в моем случае:

'mysql mysqlconnector://user:password@localhost/db?auth_plugin=mysql_native_password'