无法使用适用于其他项目的设置连接到MariaDB

时间:2016-05-25 17:35:27

标签: django mariadb

有人请帮我解决一个奇怪的问题。我无法通过Django连接到我的数据库:

django.db.utils.OperationalError: (1045, "Access denied for user 'ankush'@'localhost' (using password: YES)")

有趣的是我可以使用相同的凭据通过命令行连接,而另一个Django应用程序使用相同的登录。但是这个人拒绝参加比赛。

这是我的pip list

 - amqp (1.4.9) 
 - anyjson (0.3.3) 
 - billiard (3.3.0.23) 
 - celery (3.1.23)
 - Django (1.9) 
 - django-celery (3.1.17) 
 - Faker (0.1.4) 
 - kombu (3.0.35)
 - mysqlclient (1.3.7) 
 - pip (8.1.2) 
 - pytz (2016.4) 
 - redis (2.10.5)
 - setuptools (21.2.1) 
 - wheel (0.29.0)

另外,为了更好的衡量,这里是settings.py

DATABASES = { 
    'default': {
        'ENGINE' : 'django.db.backends.mysql',
        'NAME' : 'celery_demo',
        'USER ' : 'root',
        'PASSWORD': 'root',
        'HOST' : '127.0.0.1',
    }   
}

最后,我还拥有数据库的相关权限:

MariaDB [celery_demo]> select user,host from mysql.db where db='celery_demo';
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+

虽然我传递的用户名为root,但似乎很奇怪,错误显示为ankush@localhost。这可能有什么问题?

1 个答案:

答案 0 :(得分:3)

因为您没有在配置中指定用户名:

'USER ' : 'root',
     ^----

USER[space]USER

不同