Mysql 错误 1045 访问被拒绝:使用密码:FALSE

Mysql 错误 1045 访问被拒绝:使用密码:FALSE

我正在使用 MySQL v8.0.35 和 django 以及 python。网站用于访问数据库,网站和数据库都托管在 AWS 上。当网站尝试以任何方式访问数据库时,它会抛出此错误:

 OperationalError: (1045, "Access denied for user '<user>'@'*****' (using password: NO)")

主要问题是我不明白为什么尽管密码包含在我的 django settings.py 文件中的数据库配置中,但网站却没有使用密码。

对我来说这很奇怪,因为当通过 ssh 进入网站实例时我可以运行以下命令:

mysqladmin -h <endpoint> -u <user> -p version

与上面相同,当我被提示输入密码时,它完美执行。

我还可以通过 ssh 登录到运行此命令的数据库:

mysql -h <endpoint> -u <user> -p

这时我输入相同的密码就可以进入了。 当我检查我的用户的权限时,它显示了这个

[

在设置文件中,django 使用获取任何数据库信息,这是我所拥有的:

DATABASES={
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'zombeewatch', # Or path to database file if using sqlite3.
        'USER': '<user>', # Not used with sqlite3.
        'PASSWORD': '<password>', # Not used with sqlite3.
        'HOST': '<endpoint>', # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
    }
}

我也可以python manage.py毫无问题地使用,所以该程序似乎能够很好地从我的设置文件中获取数据库、用户名和密码。

说实话,我不知道接下来该怎么办。我认为主要问题在于为什么网站在提供了密码的情况下尝试登录数据库而不输入密码。我知道有几个问题有同样的错误,但它们背后的背景似乎非常不同。如果我可以提供更多信息,请告诉我!

**请注意,我已确认我在文件中使用的密码是正确的。至少,它与我在提示输入 mysql 和 mysqladmin 命令的密码时复制和粘贴的密码相同。

答案1

说起来有点不好意思,但这个问题通过关闭网站再打开就解决了。我很抱歉,因为我意识到这没什么帮助。

由于我通常不处理网站,所以我习惯了无需重启网站即可应用更改。因此,当我之前对密码字段进行的更改不起作用时,我没有事后重启网站。

相关内容