首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL: django.db.utils.OperationalError:(1698,“拒绝访问用户'root'@'localhost'"),用户名和密码正确

问MySQL: django.db.utils.OperationalError:(1698,“拒绝访问用户'root'@'localhost'"),用户名和密码正确
EN

Stack Overflow用户
提问于 2017-01-09 14:18:48
回答 2查看 13.5K关注 0票数 5

我在使用mysql的时候有django.db.utils.OperationalError: (1698, "Access denied for user 'root'@'localhost'")。用户名和密码正确:

代码语言:javascript
复制
DB_HOST = '127.0.0.1'
DB_USER = 'root'
DB_PASSWORD = ''

我可以以root用户身份登录mysql:

代码语言:javascript
复制
$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16

但不是以cchilders的身份

代码语言:javascript
复制
$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

这可能会导致问题的出现。上一次我安装mysql时没有发生这种情况,所以对我来说没有任何意义。我让客户安然无事:

代码语言:javascript
复制
$ pip3 freeze
Django==1.10.5
mysqlclient==1.3.9

我怎样才能让普通用户运行mysql,这样我就可以在终端上运行django?谢谢

肮脏的解决方案:

在没有任何修复的情况下,始终以sudo用户身份运行mysql

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-09 23:56:03

您可以在服务器上以root身份登录的原因是,您可能已经在/root的.my.cnf文件(即root用户的主目录)中指定了密码。检查那里是否有密码,并将其用于cchilders。然后,您可以创建一个特定于django的应用程序用户,以确保django应用程序只对它需要访问而不是通过root mysql用户访问的数据库进行读/写等操作。

代码语言:javascript
复制
create user 'django'@'localhost' identified by 'django-user-password';
grant usage on *.* to 'django'@'localhost';
grant all privileges on django-database-1.* to 'django'@'localhost';
票数 10
EN

Stack Overflow用户

发布于 2017-01-09 19:24:49

创建一个非root SQL用户,并更改Django的settings.py文件中的DB_USER变量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41542045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档