【发布时间】:2019-05-22 14:12:55
【问题描述】:
在花费数小时寻找正确的连接器来连接 MySQL 和 Django 之后,我无法创建超级用户。错误:
django.db.utils.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' 无法加载:找不到指定的模块。\r\n")
我尝试设置环境变量,settings.configure() 表示设置已配置。 db 信息在settings.py 中全部正确输入。
虽然 Pycharm 能够连接到数据库,但这是在我的 django 项目中,并且 pycharm 中的数据库标题表示 Django 默认。我不知道这是否意味着我的 Django 项目已连接到它,但我无法创建超级用户或 pycharm 连接不相关。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': 3306
}
}
当我尝试django-admin dbshell 时出现此错误:
django.core.exceptions.ImproperlyConfigured:请求设置 DATABASES,但未配置设置。您必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。
错误中提供的两种解决方案都没有积极的结果。
我的最后一个问题被标记为重复,尽管该解决方案不起作用,但问题在某些方面也有所不同。无论如何,以下是我尝试使用旧密码安全性时发生的情况。
重新迁移后,我可以使用旧版身份验证。非常感谢更新和更安全的 sha2 身份验证的解决方案。
【问题讨论】:
-
你迁移你的数据库了吗?
-
@JPQ 我刚刚尝试重新迁移,它有所帮助。尽管我对使用旧密码安全性感到不舒服。您是否有可能的 sha2 身份验证解决方案?
-
对不起...我不知道
标签: mysql django python-3.x