雲數據庫本地鏈接

開發好一個Django項目後,最終項目和數據庫都要遷移到服務器上,但服務器上新建的數據庫是沒有數據的,mysql

此時咱們能夠在Navicat工具中將本地數據庫中的數據導入到服務器端的數據庫中,可是當團隊合做開發的時候,sql

若是每個人都各自使用一個數據庫,最終進行數據合併是不現實的,沒法實現數據統一。shell

採用搭在阿里雲上MySQL。這樣開發的時候避免倉庫中含有數據庫文件,數據不能統一。數據庫

採用一個遠端數據庫,能夠保證多人開發,共享一個數據庫,實現數據統一。django

實現步驟:安全

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地址,輸入雲端數據庫帳戶密碼,鏈接測試!
此此時會報錯:沒法鏈接ui

 

須要對服務器作一下配置:
一、用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。


二、在雲服務器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來寫入數據庫

如今就把數據庫的結構同步過去了!

相關文章
相關標籤/搜索