有人请帮我解决一个奇怪的问题。我无法通过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
。这可能有什么问题?
答案 0 :(得分:3)
因为您没有在配置中指定用户名:
'USER ' : 'root',
^----
USER[space]
与USER