MySQL отказывается работать с Django в Ubuntu

Я пробую простой проект блога в Django с MySQL в качестве сервера базы данных и установил адаптер mysqlclient. Внесены изменения в settings.py, как показано ниже:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'root',
        'PASSWORD': 'i1nt9bt7',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

Но когда я набираю «python manage.py migrate» после запуска службы mysql, я получаю ошибку, которая выглядит примерно так:

django.db.utils.OperationalError: (2006, "Authentication plugin 'caching_sha2_password' cannot be loaded: /home/sandip/anaconda3/lib/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory")

Я использую Ubuntu в качестве ОС. Когда я возвращаюсь к Postgresql и вношу изменения в файл settings.py, он работает нормально. Но я могу работать с MySQL, когда пишу простые настольные приложения Python. Проблема возникает, когда я пробую использовать Django. Пожалуйста помоги.

Возможный дубликат Плагин аутентификации caching_sha2_password не может быть загружен

Keith John Hutchison 18.12.2018 05:58
Освоение архитектуры микросервисов с 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
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
1
74
1

Ответы 1

Это связано с тем, что в новых версиях maria пользователю root не разрешено входить в систему с помощью пароля, если вы не измените конфигурацию mysqld. Поэтому я рекомендую создать конкретного пользователя для вашего проекта.

попробуйте изменить метод аутентификации пользователя в mysql:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

или создайте нового пользователя:

GRANT ALL on database.* to 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;

или вы можете найти решение здесь: Плагин аутентификации caching_sha2_password не может быть загружен

Если вы не возражаете, у меня есть 2 вопроса о вашем решении: что вы имели в виду под mysql_native_password? Ответ при создании нового пользователя не должен содержать ключевое слово привилегий в команде после GRANT ALL?

Sandip Nath 18.12.2018 18:14

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