Django實戰2-自動化運維之配置管理-02:更換資料庫和數據遷移
上節搭建了虛擬機環境,部署了遠程調試模式,所以本節將把資料庫從sqlite3換到mysql,並把許可權管理的基礎數據導入mysql。
1 安裝資料庫
1.1 安裝Mysql
使用CRT連接sandboxMP虛擬機系統,更新yum源文件,並安裝mysql,操作過程如下:
# 1.安裝Mysql
[root@sandboxmp ~]$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
[root@sandboxmp ~]$ rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@sandboxmp ~]$ yum -y update
[root@sandboxmp ~]$ yum install mysql-server
# 2.修改配置文/etc/my.cnf,在[mysql]標籤下添加後面三行內容,保存退出vim
[root@sandboxmp ~]$ vim /etc/my.cnf
[mysqld]
collation-server = utf8_unicode_ci
character_set_server=utf8
init_connect=SET NAMES utf8
# 3.啟動mysql,設置開機啟動,為root用戶設置密碼
[root@sandboxmp ~]$ systemctl start mysqld
[root@sandboxmp ~]$ systemctl enable mysqld
[root@sandboxmp ~]$ mysql
mysql> set password for root@localhost=password(1234@abcd.com);
mysql> exit
# 4.再次連接Mysql會提示要使用密碼,連接方式如下,回車,根據提示輸入密碼
[root@sandboxmp ~]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
mysql>
# 5.創建資料庫,添加用戶和訪問授權
mysql> CREATE DATABASE sandboxMP;
mysql> GRANT ALL PRIVILEGES ON sandboxMP.* TO ddadmin@% IDENTIFIED BY 1234@abcd.com;
mysql> GRANT ALL PRIVILEGES ON sandboxMP.* TO ddadmin@localhost IDENTIFIED BY 1234@abcd.com;
==備註:項目中是使用root用戶登錄的Linux系統,系統默認提示符是#號結尾,例如:[root@sandboxmp ~]#。因在文檔代碼段中,#被識別成了注釋信息,所以在代碼段中,涉及Linux系統操作的命令,我會把提示符寫成$ 。==
1.2 設置資料庫連接
1.2.1 從SQLite3中導出許可權管理的相關數據
使用CRT連接sandboxMP虛擬機系統,執行如下操作:
[root@sandboxmp ~]# workon sandboxMP
(sandboxMP) [root@sandboxmp ~]$ cd /root/project_file/
(sandboxMP) [root@sandboxmp project_file]$ python manage.py dumpdata system > system_data.json
(sandboxMP) [root@sandboxmp project_file]$ ls -l
知識點介紹: django提供了dumpdata方法可以用來簡單執行數據導出,命令格式:python manage.py dumpdata [app_name] 後面跟的是app 的名字。
1.2.2 設置資料庫連接
使用pycharm打開本地項目,修改sandboxMP/sandboxMP/settings.py配置文件中資料庫配置:
DATABASES = {
default: {
ENGINE: django.db.backends.mysql,
NAME: sandboxMP,
HOST: 127.0.0.1,
USER: ddadmin,
PASSWORD: 1234@abcd.com,
PORT: 3306
}
}
1.2.3將改動同步到遠程伺服器
- Pycharm遠程部署支持自動上傳,只需要在 Tools → Deployment 下選中Automatic Upload,完成配置後你在Pycharm中對項目做的修改都會自動上傳到遠程伺服器。
- 也可以採用手動上傳,選擇項目根目錄上傳整個項目,選擇項目文件上傳單個文件。例如在Pycharm左側項目列表中找到剛剛修改的settings.py文件,右鍵settings.py,選擇Upload to SMP_Remote_Server,將修改後的文件上傳到伺服器。
1.2.4 設置保存項目後自動上傳
在項目中修改了多個文件後採用手動一個一個上傳還是挺麻煩的,上傳整個項目又沒有必要,但是又不想自動同步的頻率太高,這時候就可以設置成按ctrl+s鍵 後自動上傳修改的文件。
選擇Tools → Deployment → Automatic Upload,啟用自動上傳功能。
TAG:Django(框架) | Python | DevOps |