当我使用命令“python manage.py makemigrations”(与键入“python manage.py runserver”相同)时,它抛出了这个错误。然后我检查了用户的权限。代码和结果如下。
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'@'%' |
+--------------------------------------------------+
字符串
我已经试过各种方法来解决它,但没有用。
9条答案
按热度按时间vulvrdjw1#
您需要在项目settings.py中进行更改,为您的数据库提供
USER
和PASSWORD
字符串
aiazj4mn2#
检查您的数据库用户名和密码。很多时候,我们会犯打字错误。它与数据库用户名和密码不匹配,因此发生此错误。我面对这个错误,相信我,这是我非常糟糕的经历。
qkf9rpyu3#
我遇到了同样的错误,将
HOST
更改为127.0.0.1
并删除密码对我有效。你可以尝试一下,看看它是否也适用于你。70gysomp4#
MySQL数据库
字符串
uyhoqukh5#
我试着删除整个密码,它的工作,所以我得出的结论是,密码,我输入的是错误的,所以它显示了错误,因为没有密码由我设置,所以它的工作,当我删除密码
bfnvny8b6#
我看到这个错误消息后,我的项目复制到一个新的机器从备份文件。另一条错误消息解释了问题:
字符串
我的数据库配置文件的权限已更改,并且它没有被加载,因此Django试图连接错误的用户。我通过运行来解决这个问题:
型
qpgpyjmq7#
我的是用户名:
'default':{ ' ENGINE':'django.db.backends. mysql',' NAME ':'inventory',' HOST ':“127.0.0.1”,“用户名”:'root','PORT':'','密码':'',#密码}
改成USER就行了
ddhy6vgd8#
如果没有设置密码字段,则删除该字段。
字符串
添加此代码片段。
gorkyyrv9#
我也遇到了同样的问题,我从linuxnightly.com了解到这是由auth socket插件引起的,一旦你禁用它,问题就解决了。
在以root身份登录mysql后,尝试运行以下命令:
字符串
要做到这一点,您必须更改root的密码。这是通过
UPDATE
命令完成的。你必须在进程结束时用systemctl
命令重新启动mysql。来源:https://linuxnightly.com/error-1698-28000-access-denied-for-user-rootlocalhost/