记一次服务器迁移,包括jira、svn

2024-06-22 13:18

本文主要是介绍记一次服务器迁移,包括jira、svn,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公司新买的一个服务器,放在公司内部使用,准备将原来放在阿里云服务器上的jira迁移过来。原先将jira部署在阿里云上是由于公司还没有购买服务器,所以暂时部署在云上,结果用了一段时间之后,同事们经常反映速度太慢,而且jira使用的tomcat服务器占内存凶得很,经常达到800M之多,这个就有点昂贵了,毕竟买云服务器主要是给网站用的,所以必须将其迁移到公司内部,同时迁移的还有VisualSVN配置管理服务。这次迁移可谓是一波三折,折腾了我整整一天,晚上7点才下班(苦逼的IT民工)。

1,在新服务器上安装jira5.2.1,参考安装文档:win2003下安装破解汉化jira5步骤_史上最细节 - Testingba工作室 - 博客频道 - CSDN.NET

2,安装完成之后,将原jira上安装的插件一个不剩地在新jira上安装,这一点很重要,因为在迁移数据之前,我们要保证jira程序的一致性,否则迁移过来的数据可能出现异常。

3,准备完成之后,开始迁移数据。其实jira自己提供了有“导入/导出”功能,用于数据迁移,点击“系统”菜单,选择“导入/导出“,文件名填写备份数据的文件名,文件保存在JIRA的Application Data\JIRA\export目录下,但是这个备份不包括附件、图标、logos等。文件名我们命名为1120,备份完成之后,生成一个文件在export目录下。

4,将文件下载到新服务器上,同样将1120.zip放在”Application Data\JIRA\import“目录下,进入“系统”,“导入/导出”功能,选择“恢复数据”,文件名填写1120.zip,授权码不填,点击“恢复”,结果发现没这么简单,jira报了一个错:无效的授权码。那就增加一个授权码吧,授权码是什么东西,我导出数据的时候并没有要求我提供授权码,或者提供一个授权码给我啊,难道是安装JIRA时License中的那个串号,这个串号在”系统“,”授权“菜单中是可以看到的,那就试试吧,试的结果就是无论是填写新服务器的授权码还是旧服务器的授权码都不行。

5,那就尝试一下使用项目导入的功能吧,这个功能倒是不需要提供授权码,只需要提供备份文件,同样文件还是放在import那个目录下,但是这里要求将这个项目相关的附件放在attachments这个目录下,所以就把旧服务器上的”Application Data\JIRA\data\attachments“下所有项目的附件全部都下载到这个目录下,还是按项目为目录分好。开始导入,选择”下一页“,结果发现这样也不行,JIRA报了一个错误:问题类型****不存在,无法导入

6,尝试了”恢复数据“和”项目导入“都不行,那只有死马当活马医了,直接导入数据库吧,反正新装的JIRA也是空的。先把旧服务器上的jiradb备份下来,进入”SQL Server Management Studio“,选择jiradb数据库,“任务”,“备份”,将备份文件设置为jiradb.bak,下载到本地。

7,在新服务器上的数据库上选择jiradb,”任务“,”还原“,”文件和文件组“,还原的源中选择”源设备“,将jiradb.bak文件添加进来,将列表中的两项都选择,点击”确定“开始还原,结果还是报错,报的好像是3154号错误,那意思就是不在同一个实例上备份的数据无法进行还原,不应该啊。所以就在网上查找解决方案,下面这篇文章很好地解决了这个问题:

SQL2005备份集中的数据库备份与现有的数据库不同,错误号码:3154,解决方法

最后是通过新建一个查询,编写如下的SQL语句解决数据库jiradb到导入问题的,心里一阵窃喜:

RESTORE DATABASE jiradb

FROM DISK = 'F:\download\jirabackup\db.bak'
with replace,
MOVE 'jiradb' TO 'D:\SQLServer\MSSQL.1\MSSQL\DATA\test1.mdf',

MOVE 'jiradb_log' TO 'D:\SQLServer\MSSQL.1\MSSQL\DATA\test1_log.ldf'

8,打开jira服务,浏览器上输入地址打开,结果报了一堆的错误差点让我直接奔溃,到底还是不行啊,是啊,这种到数据库的方法在官方的导入数据说明中都没有提到,估计是不行了,但是我还是不死心,仔细分析了一下报的错误,估计就是打不开数据库,所以我就仔细查了一下用户jira的权限、jira下的dbconfig.xml配置,在数据库中的jira用户的设置中少了jiradb的映射,所以给jira用户的”用户映射“中增加了jiradb,并且角色身份选择为db_owner,将dbconfig.xml中的配置仔细检查了一遍,包括schema-name,用户名、密码、数据库地址。

9,重新打开jira,终于连接上了,看来直接导入数据库还是可以啊。别急,怎么项目问题一个都不在了,刚才导入数据库之后,我还特意看了一下jiraissue这个表,里面问题都在啊,这是怎么回事?估计是jira的索引问题,直接导入数据库,估计有很多关联的数据没有设置,所以导致了问题看不到。怎么办呢,回想刚才进行项目导入时,出现了"问题类型****不存在,无法导入"的错误,现在应该没有这些问题了,因为数据库全部到导进来了,数据应该都存在了,现在就缺少项目问题了,因为其他的比如状态、工作流、问题类型、项目等我检查了一下都存在。

10,重新进行项目导入,选择”系统“,”导入/导出“,”项目导入“,还是刚才jira导出的那个文件1120.zip,点击”下一页“,选择一个项目,导入,又报错,说什么”问题已经存在,无法导入”。那就删除issue表中的数据吧。

11,将jiraissue表中的数据清除,再进行“项目导入”,这下没有报错了,全部成功,检查了一下项目问题,都在,太好了,就按这样子,将一个一个项目都导入进去。至此,jira的数据迁移全部完成。


总结一下:

1,jira的数据迁移最简单的就是采用“导入/导出”的备份和恢复功能,如果这个不行,就采用数据库备份恢复的方式;

2,数据库恢复必须采用新建查询,执行sql语句的方式;

3,数据库恢复之后,单独删除jiraissue表中的所有内容,然后采用“项目导入”的方式,一个一个项目导入问题,这种方式导入的同时,需要将attachments目录下的附件全包拷贝到新jira的Application Data\JIRA\import\attachments目录,这样在恢复问题的同时,就会自动恢复项目的相关附件;

4,除了将数据库和附件恢复之外,还需要手动拷贝两个目录Application Data\JIRA\data\avatars和Application Data\JIRA\logos。



买JIRA上CSDN,特殊折扣购买通道:

http://atlassian.csdn.net/module/btc/atlassian/prduct_detail?project_id=445&module=34&product=9

CSDN开立Atlassian中文技术论坛更多交流分享请点击:

http://bbs.csdn.net/forums/atlassian


博文原创作者:newborn2012

这篇关于记一次服务器迁移,包括jira、svn的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084398

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2