五分钟没有操作自动退出_Django实战2-自动化运维之配置管理-02:更换数据库和数据迁移...

89c7384b9fc2d94177f10624cce1304a.png
上节搭建了虚拟机环境,部署了远程调试模式,所以本节将把数据库从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,启用自动上传功能。

0f4c457821af289b6e3dc10e253e0cdd.png

选择Tools → Deployment → Options...,配置自动上传模式为:On explicit save(Ctrl+S)

0c264e291e61e7f3c3b5a62d3bff6467.png

完成以上配置,在本地修改完代码后,按下Ctrl+S Pycharm会自动将代码上传到远程服务器。

==注意:因为项目是在远程服务器上部署运行,所以当修改项目代码后,想要查看运行效果,记得按下Ctrl+S 保存代码并自动上传到远程服务器,如果pycharm中项目是运行状态,当代码上传成功后,pycharm会自动重启项目,运行更新后的代码。==

1.2.5 将数据导入mysql

回到CRT命令终端(保留了上面操作的虚拟环境和目录,如果你已经退出了,请重新进入用虚拟环境和进入项目目录)

# 1.防止安装mysqlclient报错:EnvironmentError: mysql_config not found,先安装下面两个包
(sandboxMP) [root@sandboxmp project_file]$ yum -y install mysql-devel libmysqlclient-dev 

# 2.使用mysql数据库,需要安装mysqlclient
(sandboxMP) [root@sandboxmp project_file]$ pip install mysqlclient

# 3.生成数据表,导入数据库
(sandboxMP) [root@sandboxmp project_file]$ python manage.py migrate
(sandboxMP) [root@sandboxmp project_file]$ python manage.py loaddata system_data.json

完成以上操作可以使用Navicat连接我们的mysql数据库(172.16.3.100)查看有没有数据信息,或者运行项目,测试是否可以登陆系统和查看系统权限数据。

2.安装redis

项目中会使用celery来做分布式任务队列,用来处理比较耗时的操作,例如发送邮件,资产扫描等操作。我们使用redis来做中间人,用来存储任务队列和接受返回值。
使用CRT连接sandboxMP虚拟机系统,执行下面命令安装redis:

# 1.安装扩展源(前面我们已经安装过扩展源epel-release)和redise
[root@sandboxmp ~]$ yum install epel-release
[root@sandboxmp ~]$ yum install redis

# 2.修改redis配置文件找到bind去掉前面的注释符号,ip改为0.0.0.0,保存退出
[root@sandboxmp ~]$ vim /etc/redis.conf
bind 0.0.0.0

# 3.启动redise和设置开机启动
[root@sandboxmp ~]$ systemctl start redis
[root@sandboxmp ~]$ systemctl enable redis

redis基础入门参考资料:

http://www.runoob.com/redis/redis-tutorial.html

3.安装mongodb

项目中mongodb用来存储日志信息,安装方法如下:

使用CRT连接sandboxMP虚拟机系统,执行下面命令安装mongodb:

# 1.配置yum源文件,添加mongo安装源,保存退出
[root@sandboxmp ~]$ vim /etc/yum.repos.d/mongo.repo
[mongodb-org-3.4]
name=MongoDB 3.4 Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1

# 2.安装mongodb, 修改bindIp(把地址改成0.0.0.0后,保存退出)
[root@sandboxmp ~]$ yum install mongodb-org
[root@sandboxmp ~]$ vim /etc/mongod.conf
bindIp 0.0.0.0 # 修改bindIp

# 3.启动mongodb,设置开始启动
[root@sandboxmp ~]$ systemctl start mongod
[root@sandboxmp ~]$ systemctl enable mongod

关于mysql、redis、mongodb网上有好多入门教程,有兴趣的朋友可以找来学习下。

最新最全文档,请关注我的知识星球: https:// t.zsxq.com/a6IqBMr (微信中打开链接)
本节文档对应源码版本: https:// github.com/RobbieHan/sa ndboxMP/tree/v2.02
轻量级办公管理系统项目开源地址: https:// github.com/RobbieHan/gi standard
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值