2015-08-30 121 views
0

我知道這是一個很多論壇上的老問題,其答案建議執行刷新特權和重置密碼,但在我的情況下沒有答案已經奏效。無法通過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)")

請建議。

+0

和你認真地遵循所有[這些](http://stackoverflow.com/a/19189930/1816093)的步驟? – Drew

+0

試試''127.0.0.1''不是localhost。 –

+0

@Drew是的。 :-(唯一的疑問是,如果/ usr/bin/mysqld_safe和/ usr/sbin/mysqld應該同時運行?在恢復root密碼時,我嘗試了mysqld_safe。之後,我已關閉/重新啓動mysql很多次 – comiventor

回答

2

數據庫設置中的密碼值的密鑰應該是「密碼」,而不是「密碼」。

+0

我注意到了。肯定會嘗試......那可能很容易拋出沒有密碼 – Drew

+1

也擊敗了我:)錯誤表明他沒有發送密碼。 –