開發好一個Django項目后,最終項目和數據庫都要遷移到服務器上,但服務器上新建的數據庫是沒有數據的,
此時我們可以在Navicat工具中將本地數據庫中的數據導入到服務器端的數據庫中,但是當團隊合作開發的時候,
如果每一個人都各自使用一個數據庫,最終進行數據合並是不現實的,無法實現數據統一。
采用搭在阿里雲上MySQL。這樣開發的時候避免倉庫中含有數據庫文件,數據不能統一。
采用一個遠端數據庫,可以保證多人開發,共享一個數據庫,實現數據統一。
實現步驟:
xshell 連接雲主機:賬戶 用戶密碼
xshell下雲主機中安裝好mysql
設置mysql遠程數據庫賬戶 密碼
登錄數據庫服務器:
為了能遠程登陸Mysql數據庫,需要打開訪問權限:
進入Mysql后:
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> GRANT ALL PRIVILEGES ON *.* TO 用戶名@'%' IDENTIFIED BY '數據庫密碼' WITH GRANT OPTION;
Query OK, 0 rows affected (0.03 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit;
Bye
再重啟數據庫
service mysql restart
這樣就可以通過任何主機,用你設置的用戶名,密碼遠程訪問數據庫。
Navicate 連接雲數據庫:在本地客戶端管理

localhost改為雲服務器IP地址,輸入雲端數據庫賬戶密碼,連接測試!
此此時會報錯:無法連接

需要對服務器做一下配置:
1、用xshell連接雲服務器ECS,修改/etc/mysql/my.cnf
或者 /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address = 127.0.0.1改為bind-address = 0.0.0.0。
2、在雲服務器ECS中---安全組-----配置規則-----添加安全組規則
把3306端口加上去,才能連接到數據庫!

以上修改完成以后,測試一下:
本地訪問:mysql -u root -h 雲服務器IP地址 -P 3306 -p密碼
-h:阿里雲ip地址
root:設置的用戶
-P:端口號
-p后面為數據庫密碼
就可以連上遠程數據庫了!
再在Navicat中連接遠程MySQL數據庫:
把主機名或IP地址欄改為你的雲服務器IP地址,端口3306,數據庫密碼
即可連接成功!
Django項目中遠程連接數據庫
在Django項目的settings.py中配置數據庫:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysql',
'USER': 'root',
'PASSWORD': 'xxxx',
'HOST': '雲服務器IP地址',
'PORT': '3306',
}
}
然后輸入Python manage.py migrate來寫入數據庫

現在就把數據庫的結構同步過去了!
