我知道這是一個很多論壇上的老問題,其答案建議執行刷新特權和重置密碼,但在我的情況下沒有答案已經奏效。無法通過django連接mysql
這裏的情景:
我能夠連接到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)")
請建議。
和你認真地遵循所有[這些](http://stackoverflow.com/a/19189930/1816093)的步驟? – Drew
試試''127.0.0.1''不是localhost。 –
@Drew是的。 :-(唯一的疑問是,如果/ usr/bin/mysqld_safe和/ usr/sbin/mysqld應該同時運行?在恢復root密碼時,我嘗試了mysqld_safe。之後,我已關閉/重新啓動mysql很多次 – comiventor