Confluence跨大版本升级记录

初始版本7.4.18最终升级到了目前的最新版本8.7.1,在升级过程中遇到了很多问题,庆幸的是最后都解决了,记录一下。

背景

初始环境:

OS:CentOS8.5

DB:10.8.8-MariaDB

Confluence:7.4.18

公司使用的这个平台很多年了,从起初Windows server+SqlServer+Confluence6.x架构慢慢升到7.4.18,之前被勒索病毒入侵过,搞过P2V从物理机迁到虚机上过,从Windows迁到Linux过;

太多心酸,最终保护的就是数据,虽然之前因备份不及时线上数据被加密丢失过几个月的数据。

最近上级安全部门又扫描到有漏洞,需要立即整改,安全同事迫于压力只能先封停外网访问,这个时间就要研究版本升级问题;

之前我也尝试过从7.4.18升级至7.13.x版本,没成功,所以一直在用7.4.18,期间遇到漏洞就找Atlassian官方相关说明,不敢做版本升级了;

这次听说其他部门有从6.x升级到最新8.7.1版本的成功案例,也请教了他们,最终解决了升级中的问题。

升级

0x00 由于数据量大,所以我升级都是先安装部署新版本的环境,然后再将附件目录数据同步到新环境的附件目录,然后将老环境的数据库备份出来,在新环境上还原数据库;

         之前6.x升级到7.x都能正常升级,从7.4.x升级到7.13.x时总是报数据库的问题,也就是数据库的表结构有变化。

1、之前使用的破解授权,大佬说遇到过破解的jira升级时,数据库乱码,解决方法是将破解授权改为使用授权;

2、大佬还提了一个问题是,我之前用的MariaDB,后面的新版本不支持MariaDB了,需要改成MySQL;

下面记录一下我做的尝试:

A、从7.4.18的10.8.8-MariaDB备份数据,到7.13.20版本的MariaDB上恢复数据,报错

B、从7.4.18备份站点的xml包恢复到7.13.20环境,报错

C、将备份的7.4.18的数据库升级到MySQL8.0.35,再将线上7.4.18 MariaDB的数据备份再MySQL上恢复,成功了

D、再从备份的7.4.18+MySQL的数据备份,在新环境.13.20+MySQL 8.0.35上恢复数据,成功,但管理用户时报错,报错说有个列名external_id找不到,这里找了经常操作数据库的同事给查看了表结构,找到新版本数据库cwd_group表里增加了一列叫external_id

在新版本里的环境里查看external_id列属性,表里是否有数据,庆幸的时只添加了列名并没有数据,所以在新环境中在cwd_group表里添加上这个列名就解决了这个问题;

这里有个查询所有列名的方法在information_schema数据库里查询columns表:

E、尝试升级到比较新的7.19.17版本,恢复数据库都能正常恢复,但是启动服务时会报错,通过查看日志文件atlassian-confluence.log,主要有如下几种原因

a、缺少列名,参考上面的方法,先在新环境的数据库查询需要的列是在哪个表,在对应的表里添加相应的列就可以。

b、表已存在,不能再创建,这种看了下这个表里其实没有数据,所以可以直接删掉

c、数据库里保存的baseurl与实际的IP不一致,需要改数据库里的baseurl(8.7.1版本里这个报错不会造成起不来服务,可以启动了服务在页面上改)

查询数据库里的baseurl

select BANDANAVALUE
from BANDANA
where BANDANACONTEXT = '_GLOBAL'
and BANDANAKEY = 'atlassian.confluence.settings';

修改数据库里的baseurl

update BANDANA 
set BANDANAVALUE = replace(BANDANAVALUE, 'http://old_url', 'http://new_url') 
where BANDANACONTEXT = '_GLOBAL' 
and BANDANAKEY = 'atlassian.confluence.settings';

F、从7.19.17到8.7.1版本,Confluence的附件存储方式也做了升级,从以往的ver003升级到了v4,现象就是7.xx版本的附件目录名称为ver003,8.xx版本的附件目录为v4

Confluence8.xx版本自己做了v3-to-v4的执行任务,触发的条件就是在附件目录存在ver003目录,服务启动后会自己迁移到v4目录下,并记录日志

分层文件系统附件存储 |Confluence 数据中心和服务器 8.7 |Atlassian 文档

G、升级后,Confluence无法启动,主目录中的内部版本号与数据库中的内部版本号不匹配

Confluence 不会启动,因为主目录中的内部版本号与数据库中的内部版本号不匹配,升级后 |汇合 |Atlassian 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/337848.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享两个概念:非受检异常和受检异常

分享两个概念:非受检异常和受检异常 愿你的每一天都充满阳光和笑声,愿每一步都是轻松与愉快。在新的旅程中,愿你找到勇气攀登高峰,找到智慧化解困境。 愿你的心中充满温暖和善意,愿你的梦想如彩虹般美丽且真实。愿你发…

外汇天眼:CQG 与 TradeStation Securities 的经纪服务集成

TradeStation Securities, Inc.,一家自营的在线股票、ETF、期权和期货交易经纪公司,宣布与CQG合作,CQG是一家为交易员、经纪商、商业套保者和交易所提供高性能技术解决方案的全球供应商,已与TradeStation Securities的经纪服务集成…

零基础学习数学建模——(二)数学建模的步骤

本篇博客将详细介绍数学建模的步骤。 文章目录 引例:年夜饭的准备第一步:模型准备第二步:模型假设第三步:模型建立第四步:模型求解第五步:结果分析第六步:模型检验第七步:模型应用及…

JVM基础(1)——JVM类加载机制

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

星耀新春,集星探宝,卡奥斯开源社区双节活动上线啦!

卡奥斯开源社区龙年新春专题活动上线啦! “星耀新春,集星探宝”,卡奥斯开源社区龙年新春专题活动重磅发布! 写文章、发项目、建应用、做测评,玩转盘、开宝箱 6大活动板块陪你玩儿转双节! 扫地机器人、家…

计算机导论03-计算机组成

计算机系统结构 冯•诺依曼体系结构 冯•诺依曼体系结构的基本要点 冯•诺依曼思想即冯•诺依曼体系结构思想,其最基本的概念是存储程序概念,它奠定了现代计算机的结构基础。 功能部件: 计算机必须具备五大基本组成部件,包括:运…

使用git submodule解决高耦合度问题

引言 在开发我的笔记系统时,我遇到了一个问题。问题是,在api-gate服务中,我需要验证用户的access_code,但是access_code的生成逻辑是在auth2服务中实现的。这个问题从架构设计的层面上看,就是一个高耦合度问题。高耦合…

C++重新认知:namesapce

0、引言 为什么要用到命名空间 想必我们在写C语言时经常在main.cpp文件内写下using namespace std 这句代码,这句代码有何作用呢? 其实写上这句代码后,我们就会使用std的命名空间。 好处:可以帮我们节省很多不必要的代码&#…

jmeter性能测试常用并发线程组

每秒完成事务数:作用是统计各个事务每秒钟成功的事务个数添加方式:测试计划 --> 线程组--> 监听器-->Transactions per Second 每秒字节吞吐量:作用是查看服务器吞吐流量(单位/字节)添加方式:测试…

VSCode使用MinGW编译器,配置C/C++环境

目录 一、安装VSCode 二、安装MinGW编译器 1、配置环境变量 2、测试配置是否成功 三、配置VSCode 1、安装所需扩展 2、新建代码存放文件夹 3、添加配置文件 4、配置文件内容 (1)c_cpp_properties.json (2)launch.json …

IPv6路由协议---IPv6动态路由(OSPFv3-4)

OSPFv3的链路状态通告LSA类型 链路状态通告是OSPFv3进行路由计算的关键依据,链路状态通告包含链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA。 OSPFv3的LSA头仍然保持20字节,但是内容变化了。在LSA头中,OSPFv2的LS age、Advertising Router、LS Sequence…

three.js : tweenjs创建threejs动画

效果&#xff1a; 代码 <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div> <div class"box-right"><…