# 一定要知道自己升级之前的版本, 在升级之前可以通过如下代码进行查询, 记住是升级之前, 也可以通过 web 页面的右下角来查看当前版本信息
$ cat /opt/jumpserver/apps/__init__.py | grep version
$ cat /opt/jumpserver/apps/templates/_footer.html | grep Version
# 备份当前版本数据库, 忽略 django_migrations 表
$ mysqldump -uroot -p jumpserver --ignore-table=jumpserver.django_migrations > /opt/jumpserver.sql
# 重命名 Jumpserver 目录
$ mv /opt/jumpserver /opt/jumpserver_bak
# 重新 clone 代码
$ cd /opt
$ git clone https://github.com/jumpserver/jumpserver.git
$ cd jumpserver
# 检出你之前的版本, 比如之前的版本是1.4.0
$ git checkout 1.4.0 # 1.4.0 表示版本号, 自己手动更换成你当前的版本, 如 1.3.1 则输入 git checkout 1.3.1
# 依赖安装
$ source /opt/py3/bin/activate
$ yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt)
$ pip install -r /opt/jumpserver/requirements/requirements.txt
# 重新创建一个数据库
$ mysql -uroot
> create database jumpserver01 default charset 'utf8';
> grant all on jumpserver01.* to 'jumpserver01'@'127.0.0.1' identified by 'weakPassword';
> flush privileges;
> quit
# 修改配置文件
$ cp /opt/jumpserver_bak/config.py /opt/jumpserver/
$ vim /opt/jumpserver/config.py
DB_ENGINE = 'mysql'
DB_HOST = '127.0.0.1'
DB_PORT = 3306
DB_USER = 'jumpserver01'
DB_PASSWORD = 'weakPassword'
DB_NAME = 'jumpserver01'
# 初始化数据库
$ cd /opt/jumpserver/utils
$ sh make_migrations.sh
# 确定初始化没有错误, 把旧的数据库导入
$ mysql -uroot
> use jumpserver01;
> source /opt/jumpserver.sql
# 启动 jumpserver, 确定没有错误
$ cd /opt/jumpserver
$ ./jms start all
# 打开 web 页面检查是否都正常
$ 参考升级文档继续升级到最新版本即可
# 删除原数据库命令
$ mysql -uroot
> drop database jumpserver;
> quit