我知道这是许多论坛上的一个老问题,答案建议使用刷新权限并重置密码,但在我的情况下没有答案有效。
以下是该方案:
我可以通过以下命令连接到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,“访问被拒绝用户'root'@'localhost'(使用密码:NO)”)
请建议。
答案 0 :(得分:2)
数据库设置中密码值的键应该是" PASSWORD",而不是" PASSWD"。