无法通过 Django 连接 mysql

Unable to connect mysql via django

我知道这是很多论坛上的一个老问题,答案建议执行刷新权限和重设密码,但在我的情况下没有答案。

场景如下:

我可以通过以下命令连接到 mysql

mysql -u root -p -hlocalhost

我还可以使用以下脚本通过 python 进行连接

import MySQLdb
Con = MySQLdb.Connect(host="127.0.0.1", port=3306, user="root", passwd="mypass", db="mydb")
Cursor = Con.cursor()
sql = "SELECT * FROM test"
Cursor.execute(sql) #### gives 1L

但是我无法通过 Django 连接。 Django settings.py 包含

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydb',
        'USER': 'root',
        'PASSWD': 'mypass',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

主要错误如下

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

求推荐。

数据库设置中密码值的键应该是"PASSWORD",而不是"PASSWD"。