首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Django : mysql : 1045,“用户访问被拒绝

Django : mysql : 1045,“用户访问被拒绝
EN

Stack Overflow用户
提问于 2010-03-15 03:25:17
回答 11查看 43.3K关注 0票数 28

我已经在我的本地计算机上运行了几个月。

我现在正在远程站点上安装。

创建了一个新的mysql数据库,并创建了一个新用户(“某个用户”),并为其提供了完整的授权,如下所示-

将所有权限授予。使用GRANT OPTION发送到由'somepassword‘标识的'someuser'@'localhost’;

我已经使用"python manage.py syncdb“同步了数据库,并且创建了正确的表。我的settings.py也有同样的用户。

但是,当我尝试通过应用程序登录用户时,它访问了数据库,我在日志中看到以下内容-

(1045,“拒绝访问用户‘某个用户’@‘本地主机’(使用密码:是)”)

我通过mysql登录(与django安装在同一个框上),并检查了拨款,它正确地显示-

授予某些用户@localhost

授予*上的所有权限。*通过GRANT选项将密码'*thesaltedpasswordOverHere‘标识为'someuser'@'localhost’

我不想对django使用root用户/密码,因为它似乎不是正确的方式。

有没有什么地方可能是错的?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-03-15 03:28:22

我对一个名为foo_db的数据库这样做:

代码语言:javascript
复制
create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
票数 32
EN

Stack Overflow用户

发布于 2015-11-30 17:03:11

在我的例子中,settings.py具有以下内容:

代码语言:javascript
复制
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'TRYDJANGO',
        'USERNAME':'user_trydjango',
        'PASSWORD':'passtry',
        'PORT':'3306',
        'HOST': 'localhost',
    }
}

如果我把“USERNAME”改成“USER”,它就会起作用:

代码语言:javascript
复制
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'TRYDJANGO',
        'USER':'user_trydjango',
        'PASSWORD':'passtry',
        'PORT':'3306',
        'HOST': 'localhost',
    }
}
票数 11
EN

Stack Overflow用户

发布于 2017-10-09 17:04:38

据我所知,有些用户是数据库来宾用户,而不是管理员用户,对吗?

如果是,请从您MySQL DB管理员用户,按如下方式授予某个用户访问MySQL环境表'mysql.user‘的权限:

将SELECT ON mysql.user授予‘mysql’@‘%’;

对我来说很管用,伊凡

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

https://stackoverflow.com/questions/2443419

复制
相关文章

相似问题

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