如何在django中使用mysql資料庫進行操作?

2021-12-30 08:13:42 字數 1120 閱讀 6934

背景介紹

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...