背景介紹
mysql在生產環境中是非常常用的一種關係型資料庫,效能好,開源。
而python的django框架在開發環境下自帶了sqlite資料庫,雖然測試很方便,但是在部署時,最好更換成mysql資料庫。
在部署django的mysql時,踩了乙個坑,而且解答也不是很完善,所以記錄一下自己的配置過程。
部署使用的伺服器是阿里雲ecs雲伺服器,配置是2核4g,1m頻寬。
python manage.py makemigrations
python magage.py migrate
python manage.py runserver如果不報錯,就說明自己的配置正確了。
遇到的坑
在配置完成後,執行
python manage.py makemigrations 後
報錯如下:
error 1698 (28000): access denied for user 'root'@'localhost'意思就是django 想要連線 mysql中對應的資料庫時,連線被拒絕。
原因可能是 settings.py裡面的使用者名稱,密碼填錯了,可能是資料庫裡沒有對應名稱的database.
但是我試著按照配置裡資訊手動連線mysql,可以連線。說明我的原因不是這些。
後來查了許多,才看到乙個真的work for me 的 解答
是 stack overflow上的。
我來翻譯一下,就是
debian和ubuntu系統安裝mysql ,連線root使用者時使用的登入認證是unix auth_socket plugin
而django連線資料庫時使用的是 mysql_native_password 的認證方式,
所以需要修改root的plugin為mysql_native_password
命令如下:
mysql> use mysql;
mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> exit;之後我的問題就真的解決了
希望我的踩坑經歷可以對廣大讀者有所幫助,如果有錯誤,還請大佬們留言指出。
如何在django中使用靜態的css檔案
其中static檔案 templates檔案分別用來存放 css檔案等靜態檔案和.html檔案 第一步 在login.html檔案中新增如下 然後匯入我們需要使用的 login css.css 檔案 匯入格式如下 doctype html en stylesheet href 匯入 utf 8 ti...
如何在AndroidStudio中使用AIDL
本章節介紹如何在androidstudio中使用aidl 2.在aidl下建立乙個包,包裡建立乙個 aidl檔案,右鍵aidl new aidl aidl file 紅框就是建立完成後的樣子 3.在aidl檔案寫要被呼叫的方法,此方法不能有許可權修飾符 4.首先build下,然後建立乙個servic...
如何在jupyter使用django
pip install django extensions 更改您的設定檔案以包含 django extensions 像這樣執行你的django伺服器 python manage.py shell plus notebook 改變以適應,並在你的第乙個單元格中執行 import os,sys pw...