JumpServer 如何回退版本?


飞致云 发布于 2023-08-14 / 1001 阅读 / 0 评论 /

一、概述

本文主要介绍在 JumpServer 升级失败或者升级后不满足用户使用场景的情况下如何回退版本。本文档适用于 V2 与 V3 版本。

二、升级前备份

在执行升级操作时会备份 config.txt 配置文件以及 JumpServer 对应的数据库中的 SQL 文件。

也可在备份时手动备份相关文件:

  • 数据库文件备份:jmsctl bakcup_db 或 mysqldump -h 数据库 IP 或域名 -u 数据库用户名 -p jumpserver (数据库库名) > jumpservre- 版本号-时间 .sql

版本回退必须的两个文件:

  • config.txt:该文件中包含基础的数据库连接信息以及数据库的加密码。

  • jumpserver- 版本号-时间 .sql:该文件中包含了升级之前的数据库中的所有数据。

三、提醒

版本回退因为是根据备份的 SQL 文件进行回退的,所以在升级版本后增加的用户、资产、授权、会话信息等无法同步,请知悉。

四、操作回退

在操作回退先停止 JumpServer 的所有服务。

#JumpServer 服务器上
jmsctl stop

JumpServer 版本回退需要涉及到数据库中数据回退与 JumpServer 服务回退。

1、数据库回退

数据库回退可以选择两种方式:手动操作回退与 JumpServer 命令回退。

①、手动回退

1、登录到 MySQL 数据库中或者进入到 MySQL 容器中;

#数据库外置
mysql -h数据库 IP 或域名 -u数据库用户名 -p   
#数据库内置
docker exec -it jms_mysql /bin/bash #数据库的账号与密码在 /opt/jumpserver/config/config.txt 中,或者可进入到容器中执行 env 查看具体的参数
# MARIADB_ROOT_PASSWORD 该参数要根据版本区分,进入容器中查看
 mysql -uroot -p$MARIADB_ROOT_PASSWORD

2、查看创建数据库的命令

#数据库外置与内置

MariaDB [(none)]> show create database jumpserver;

3、删除原本的数据库(执行改操作前需确保有备份 SQL 文件,谨慎操作

#数据库外置与内置
MariaDB [(none)]> drop database jumpserver;

4、数据库内置时,需要将备份的 SQL 文件复制到 jms_mysql 容器中。

#数据库内置
[root@jumpserver-v3 ~]# docker cp jumpserver-v3.5.0-8-14.sql jms_mysql:/root

5、新建原本的数据库,并还原原本的 SQL 文件。

注:请注意创建数据库的命令;比较新的 MySQL 或 MARIADB 数据库例如:MySQL 8.0 版本时使用 utf8mb3 编码;在比较旧的数据库版本例如:MySQL 5.7 版本时,使用 utf8 编码方式,回退时请注意。

#数据库外置与内置
#复制查询到的创建数据库的命令并执行;
MariaDB [(none)]> CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET utf8mb3 */;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> use jumpserver;
Database changed
MariaDB [jumpserver]> source /root/jumpserver-v3.5.0-8-14.sql;

手动还原数据库完成!

②、JumpServer 命令回退

在 JumpServer 服务器中执行命令直接回退数据库。

[root@jumpserver-v3 ~]# jmsctl restore_db /root/jumpserver-v3.5.0-8-14.sql

2、服务回退

进入到原版本的安装包目录中,使用启动命令重新启动即可。如删除了原版本的镜像文件,需要重新拉取。

#JumpServer 服务器上的操作
[root@jumpserver-v3 ~]# cd /opt/jumpserver-offline-release-v3.5.0-amd64/
#拉取版本镜像
[root@jumpserver-v3 jumpserver-offline-release-v3.5.0-amd64]# ./jmsctl.sh load_image
#重新启动
[root@jumpserver-v3 jumpserver-offline-release-v3.5.0-amd64]# ./jmsctl.sh start

查看服务启动是否成功

五、验证数据可用性

1、验证版本信息

版本回退成功后,需要查看对应的版本信息【 V2 版本在登陆后的页面左下角查看,V3 在右上角的关于中查看】

2、验证资产数量、授权数量

切换至全局组织中,查看资产与授权的详细数量。【社区版无组织概念,即查看仪表盘页面即可。】

3、验证功能信息

回退成功后,验证功能是否可用。



是否对你有帮助?