解決MAC上Django連接Mysql django.db.utils.OperationalError: (2003, "Can't connect to MySQL 的問題

Steven 最近在mac電腦是開發Django項目,但是遇到了一個很棘手的問題,就是跑Django程序連接Mysql始終報錯,最開始的問題是password的問題,後來把password改過來之後,發現還是不行,後來檢查自己的Django程序urls.py和views.py反覆修改都無濟於事,views.py函數

 

        setting.py

 

在網上查了很多方法,都說是setting.py裏面DATABASES的配置問題,實際上也是當我把ENGINE裏面的mysql改成sqlite3的時候馬上就恢復正常了,程序一度無解。

 

第二天的時候我在想,是不是問題不出在程序這裏,會不會是Mysql根本就拒絕了訪問,心一橫,我決定把Mysql重裝一下。

現在設置裏面“Mysql”,然後在頁面裏面點擊“unistall Mysql”。

 

卸載完成之後,找到找到mysql的安裝文件,然後點擊下一步,到最後一步的Configuration的時候暫停,我注意到裏面有兩個選項,一個是Use Strong Password Encryption,下面英文的意思就是連接器和客戶端不支持SHA256方式的話連不上服務器,而且系統默認選擇的是這種安裝方式,所以問題很可能出在這裏,這一次我決定選擇下面的"Use Legacy Password Encyption",配置完成。

 

 然後我在瀏覽器裏面刷新,得到了正確的結果。

 

總結:遇到問題的時候,要學會從多個方面去思考問題,如果程序檢查多遍都沒有問題,那麼問題可能是出在我們的配置上面,think outside the box ,說不定會有新的發現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章