Django(1045,“用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)

Posted

技术标签:

【中文标题】Django(1045,“用户\'root\'@\'localhost\'的访问被拒绝(使用密码:NO)”)【英文标题】:Django (1045, "Access denied for user 'root'@'localhost' (using password: NO)")Django(1045,“用户'root'@'localhost'的访问被拒绝(使用密码:NO)”) 【发布时间】:2021-10-19 10:39:42 【问题描述】:

我遇到了一个奇怪的问题,我已经将一个 django 站点部署到了一个 Ubuntu 20.04 LTS 服务器。问题是我的 django 应用程序无法连接到数据库,因为它没有使用在 app settings.py 中标识的数据库连接凭据。它使用没有密码的root。但是当我可以毫无问题地运行 manage.py db 操作时。

这是我的 settings.py

    'default': 
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'pplus_db',
        'USER': 'pplus_user',
        'PASSWORD': 'dfa@4GL-5qQU',
        'HOST': 'localhost', 
        'PORT':'3306',
    

错误:

OperationalError at /accounts/login/
(1045, "Access denied for user 'root'@'localhost' (using password: NO)")
Request Method: POST
Request URL:    http://IP_ADDRESS/accounts/login/
Django Version: 3.2.5
Exception Type: OperationalError
Exception Value:    
(1045, "Access denied for user 'root'@'localhost' (using password: NO)")

【问题讨论】:

这能回答你的问题吗? django.db.utils.OperationalError: (1045:Access denied for user 'root'@'localhost' (using password: NO) 删除图像并粘贴文本输出数据是描述您的问题的必要条件。 @Sumithran 我已经尝试了几次该问题的公认答案,但仍然没有解决我的问题。可能有人可以帮助我理解为什么它不使用 settings.py 中提到的凭据。 manage.py 怎么能连接数据库,而app 不能? 你有多个设置文件吗? 【参考方案1】:

你只需要运行 sudo mysqld_safe --skip-grant-tables

或将您的 MySQL 密码重置为 null

【讨论】:

【参考方案2】:

我已经设法解决了这个问题,我认为问题在于兑现。遵循此解决方案后 django.db.utils.OperationalError: (1045:Access denied for user 'root'@'localhost' (using password: NO)

确保重新启动您的服务: sudo systemctl daemon-reload sudo systemctl 重启 gunicorn 或者,如果您可以重新启动服务器。

【讨论】:

以上是关于Django(1045,“用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)的主要内容,如果未能解决你的问题,请参考以下文章

django.db.utils.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘

django 远程数据库mysql migrate失败报error 1045之 解决方案

django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost&

Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using passwor

django配置mysql报错

Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错