django.db.utils.OperationalError:(1045,“访问被拒绝用户'root'@'localhost'(使用密码:YES)”)

问题描述 投票:4回答:2

当我使用命令“python manage.py makemigrations”(与键入“python manage.py runserver”相同)时,它抛出了这个错误。然后我检查了用户的权限。代码和结果如同fllows。

mysql> select host,user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| %         | zhuxin        |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
| localhost | zhuxin        |
+-----------+---------------+


mysql> show grants for 'zhuxin'@'%'; 
+---------------------------------------------------------------+ 
| Grants for zhuxin@%                                           |
+---------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zhuxin'@'%' WITH GRANT OPTION | 
| GRANT ALL PRIVILEGES ON `blogdb`.* TO 'zhuxin'@'%'            |  
+---------------------------------------------------------------+ 

mysql> show grants for 'root'@'%';
+--------------------------------------------------+
| Grants for root@%                                | 
+--------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'root'@'%'                 | 
| GRANT ALL PRIVILEGES ON `blogdb`.* TO 'root'@'%' |  
+--------------------------------------------------+

我已经尝试了一切来解决它,但没有用。

mysql django
2个回答
7
投票

您需要在项目settings.py中进行更改。为您的数据库提供USERPASSWORD

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'myproject',
        'USER': 'root',
        'PASSWORD': 'rootpassword',
        'HOST': 'localhost',
        'PORT': '',
    }
}

-1
投票

检查数据库用户名和密码。很多时候,我们打字错误。它与数据库用户名和密码不匹配,因此会出现此错误。我遇到了这个错误并相信我,这是我非常糟糕的经历。

© www.soinside.com 2019 - 2024. All rights reserved.