【发布时间】:2015-11-24 19:16:48
【问题描述】:
我知道这是许多论坛上的一个老问题,答案建议执行刷新权限和重置密码,但在我的情况下,没有任何答案有效。
场景如下:
我可以通过以下命令连接到 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)")
请提出建议。
【问题讨论】:
-
你认真地遵循了these 的所有步骤?
-
试试
127.0.0.1不是本地主机。 -
@Drew 是的。 :-( 我唯一的疑问是 /usr/bin/mysqld_safe 和 /usr/sbin/mysqld 是否应该同时运行?在恢复 root 密码时,我尝试了 mysqld_safe。之后我关闭/重新启动了 mysql很多次。
-
@GlynJackson 不起作用
-
您的错误提示密码为“否”,但您在 OP 中指定了密码。
标签: mysql django django-settings