Confluence跨大版本升级记录

news2024/11/19 17:29:56

初始版本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.coloradmin.cn/o/1375559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据驱动下的LLM优化:如何从数据集中发掘最大价值?

来源,公众号:芝士AI吃鱼 本文聚焦于通过使用精心策划的数据集对LLM进行微调,以提升其建模性能。具体来说,本文强调了涉及修改、使用或操纵数据集进行基于指令的微调的策略,而不是改变模型架构或训练算法。本文还将解释…

STL源码阅读总结从小白到大神:vector

一、vector概述 vector的数据格式与array非常相似,两者的差别在于空间的灵活运用,array是静态空间,一旦配置内存空间就不容易更改原来的空间大小。而vector是动态空间,随着元素的加入,它的内部机制就会自动扩容以容纳…

【LeetCode:200. 岛屿数量 | DFS 】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

JavaEE中的Controller的每一个Handler如何确定返回值与形参?

在JavaEE中,特别是在基于Spring框架的JavaEE应用中,Controller是用来处理HTTP请求的组件。Controller中的每一个Handler方法都是负责处理特定的请求,并确定返回值与形参。以下是一般情况下的Handler方法的确定返回值与形参的详细说明&#xf…

电子雨代码-html

电子雨代码 动画效果展示 代码 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Code</title><style>body {margin: 0;overflow: hidden;}</style></head><body><ca…

鸿蒙Harmony--状态管理器--@Prop详解

纵横千里独行客&#xff0c;何惧前路雨潇潇。夜半浊酒慰寂寞&#xff0c;天明走马入红尘。且将新火试新茶&#xff0c;诗酒趁年华。青春以末&#xff0c;壮志照旧&#xff0c;生活以悟&#xff0c;前路未明。时间善变&#xff0c;可执着翻不了篇。时光磨我少年心&#xff0c;却…

c++学习第九讲---类和对象---多态

多态&#xff1a; 1.多态的基本概念&#xff1a; &#xff08;1&#xff09;多态分为两类&#xff1a; 静态多态&#xff1a;函数重载和运算符重载&#xff1b; 动态多态&#xff1a;派生类和虚函数实现运行时多态。 &#xff08;2&#xff09;静态多态和动态多态的区别&am…

动态规划day03

343. 整数拆分(第二次做还是没弄明白) 力扣题目链接(opens new window) 给定一个正整数 n&#xff0c;将其拆分为至少两个正整数的和&#xff0c;并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2输出: 1解释: 2 1 1, 1 1 1。 示例 2: 输入: …

了解特权身份管理(PIM)的基础知识

要了解特权身份&#xff0c;首先必须确定身份是什么&#xff0c;管理员可用于验证属于网络的用户的真实性的任何形式的唯一身份验证都是身份&#xff0c;这些包括密码、用户名、员工 ID、手机号码、安全答案等。 这些身份通常存储在 Active Directory 等目录中&#xff0c;并使…

EM planner 论文阅读

论文题目&#xff1a;Baidu Apollo EM Motion Planner 0 前言 EM和Lattice算法对比 EM plannerLattice Planner参数较多&#xff08;DP/QP&#xff0c;Path/Speed&#xff09;参数少且统一化流程复杂流程简单单周期解空间受限简单场景解空间较大能适应复杂场景适合简单场景 …

【分布式技术】rsync远程同步服务

目录 一、rsync&#xff08;远程同步&#xff09; 二、实操rsync远程文件同步 准备一个服务端192.168.20.18以及一个客户端192.168.20.30 1、服务端搭建&#xff1a;先完成服务端配置&#xff0c;启动服务 rsync拓展 1、关于rsyncd服务的端口号 2、rsync和scp的区别 2、测…

企业级进销存管理系统

框架&#xff1a; 进销存管理系统&#xff0c;采用SpringBootShiroMyBatisEasyUI 项目采用Maven构建&#xff0c;数据库文件存放在 sql/jxc.sql 截图 运行项目部分截图&#xff0c; 登录界面&#xff0c;用户名admin&#xff0c;密码admin123 当前库存查询&#xff0c; 进…

UI自动化测试工具对企业具有重要意义

随着软件行业的不断发展&#xff0c;企业对高质量、高效率的软件交付有着越来越高的要求。在这个背景下&#xff0c;UI自动化测试工具成为了企业不可或缺的一部分。以下是UI自动化测试工具对企业的重要作用&#xff1a; 1. 提高软件质量 UI自动化测试工具能够模拟用户的操作&am…

《堆排序》与《Top—k》

目录 ​编辑 前言&#xff1a; 关于《堆排序》&#xff1a; 第一步&#xff1a;建堆 第二步&#xff1a;排序 《Top—K问题》 关于Top—k问题&#xff1a; 前言&#xff1a; 我们在前面的blog中&#xff0c;对于《堆》已经有了初步的概念&#xff0c;那么接下来我们可以…

mapper向mapper.xml传参中文时的乱码问题

1.起因&#xff1a; 在idea中进行模糊查询传参时&#xff0c;发现在idea中查中文查不出记录&#xff0c;在navicate中可以查出来。 2.猜测&#xff1a; 1.idea中的编码问题导致的乱码。 2.idea和navicate的编码一致性导致的乱码。 3.mapper向mapper.xml传参后出现乱码。 3.解…

Transformer从菜鸟到新手(六)

引言 上篇文章介绍了如何在多GPU上分布式训练&#xff0c;本文介绍大模型常用的一种推理加速技术——KV缓存。 KV Cache KV缓存(KV Cache)是在大模型推理中常用的一种技巧。我们知道在推理阶段&#xff0c;Transformer也只能像RNN一样逐个进行预测&#xff0c;也称为自回归。…

IPv6路由协议---IS-ISv6

IS-ISv6概述 中间系统到中间系统IS-ISv6(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol),用于自治系统内部。IS-IS也是一种链路状态协议,使用最短路径优先SPF(Shortest Path First)算法进行路由计算。 IS-ISv6产生 IS…

代码随想录刷题笔记(DAY 10)

今日总结&#xff1a;快要期末考试了&#xff0c;现在在疯狂速成&#xff0c;今天稍微缓和了一点&#xff0c;应该能保证继续每天刷题&#xff0c;欠下的那些寒假补上。 Day 10 01. 用栈实现队列&#xff08;No. 232&#xff09; 题目链接 代码随想录题解 1.1 题目 请你仅…

Deep Reinforment Learning Note 1

文章目录 Terminology Terminology st : stateot : observationat : action π θ ( a t ∣ o t ) \pi_\theta (a_t | o_t) πθ​(at​∣ot​) : policy π θ ( a t ∣ s t ) \pi_\theta (a_t | s_t) πθ​(at​∣st​) : policy (fully observed) Observation result from…

[软件工具]pdf多区域OCR识别导出excel工具使用教程

首先我们打开软件&#xff0c;界面如下&#xff1a; 如上图&#xff0c;使用非常简单&#xff0c;步骤如下&#xff1a; &#xff08;1&#xff09;选择工具-取模板选择一个pdf文件划定自己需要识别的区域&#xff0c;如果你选择第2页指定区域则软件统一识别所有pdf第2页指定区…