![89c7384b9fc2d94177f10624cce1304a.png](https://i-blog.csdnimg.cn/blog_migrate/99ab7f80c4dc3a34571ba95e4edb4fb0.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](https://i-blog.csdnimg.cn/blog_migrate/e64eb89a080ce42d122303b89f7b3ad9.jpeg)
选择Tools → Deployment → Options...,配置自动上传模式为:On explicit save(Ctrl+S)
![0c264e291e61e7f3c3b5a62d3bff6467.png](https://i-blog.csdnimg.cn/blog_migrate/3abb74b1870557114449eebf05daf3ba.jpeg)
完成以上配置,在本地修改完代码后,按下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