Django:mysql:1045,"用户拒绝访问

Pla*_*own 25 mysql django mysql-error-1045

我的整个设置在我的本地计算机上运行了几个月.
我现在正在远程站点上安装.
创建了一个新的mysql数据库,并创建了一个新用户("someuser")并给了它完整的授权,就像这样 -

授予所有特权.''someuser'@'localhost'通过'somepassword'AND WITH GRANT OPTION识别;

我已使用"python manage.py syncdb"同步数据库,并创建了正确的表.我的settings.py有这个用户.

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

(1045,"访问被拒绝用户'someuser'@'localhost'(使用密码:是)")

我通过mysql登录(安装在与django相同的盒子上)并检查授权并正确显示 -

someuser @ localhost授予
所有特权*.*''someuser'@'localhost'通过密码识别'*thesaltedpasswordOverHere'WITH GRANT OPTION

我不想使用django的root用户/密码,因为它似乎不正确.

关于什么可能是错的任何指针?

duf*_*ymo 27

对于名为foo_db的数据库,我这样做:

create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
Run Code Online (Sandbox Code Playgroud)


小智 7

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

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'TRYDJANGO',
        'USERNAME':'user_trydjango',
        'PASSWORD':'passtry',
        'PORT':'3306',
        'HOST': 'localhost',
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我将'USERNAME'更改为'USER',它会起作用:

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'TRYDJANGO',
        'USER':'user_trydjango',
        'PASSWORD':'passtry',
        'PORT':'3306',
        'HOST': 'localhost',
    }
}
Run Code Online (Sandbox Code Playgroud)