我們都知道django項目可以通過修改settings.py文件中的DATABASES這個對象,使用不同的數據庫。
如圖所示,我們想連接遠程的mysql,修改settings.py的配置
然后我們在終端啟動項目python manage.py runserver
不料發生報錯,這個錯很明顯就是無法連接遠程的mysql
下面我們就開始來解決這個問題
首先,我們通過xshell登陸遠程的服務器
然后進入 /etc/mysql/my.cnf
然后修改my.cnf 這個文件的內容,保存退出
重啟一下mysql
然后回到我們的django項目中,重新啟動一下項目,發現還是報之前那個錯誤,別急,我們還有一個東西沒有設置。
授權任意主機登陸
我們現在回到服務器上面,登陸mysql
終端命令為mysql -u root -p123456,-p后面緊跟着是你的密碼,不能有空格

grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
我們只需改一個地方
password: mysql 密碼

授權成功后,我們還需要刷新權限信息flush privileges;

現在搞了這么多我們又回到django,重新運行django項目,python manage.py runserver 發現還是報原來那個錯,后來想了想,
因為我用的是阿里雲服務器,其中阿里雲服務器有一個叫做安全組的東西。

我們可以看到紅色框框的那句話: 安全組未設置任何自定義放行規則,會導致無法訪問實例端口,若需訪問請添加安全組規則放行對應的端口。
因為我們mysql用的是3306這個端口,並沒有在安全組找到,所以我們先配一個。

好,到現在我們可以大膽地運行我們的django項目了

並沒有報錯,成功地運行了,真happy。。。
我們來驗證一下是不是真的連上了遠程服務器
我們先查詢一下我們django項目的表有沒有數據

然后我們通過python manage.py shell,手動添加一個,然后在遠程服務器查詢是否有添加成功,
如果添加成功,說明我們本地的django項目已經連上了遠程的服務器。

我們已經成功添加一條數據到TestModel中,現在我們在服務器上查詢是否有這條數據。

很明顯我們剛才添加的數據已經存在了,說明大功告成,我們本地的django項目已經連上了遠程的服務器。