Jira数据库迁移,从HSQL到MYSQL

  1. 通过JIRA管理员登录,进入“管理员页面”,“系统”--“导入&导出”,以XML格式备份数据。
  2. 在MySQL中创建Schema,命名为jira
  3. 关闭JIRA服务
  4. 备份一下JIRA的安装目录和数据目录
  5. 在JIRA的数据目录下删除文件:dbconfig.xml
  6. 重新启动JIRA服务
  7. 再访问JIRA,会再次出现第一次安装时候的数据库配置。在这里输入MySQL的地址、用户名、密码、数据库名称等,测试连接成功后,点击下一步
  8. 选择“import your existing data”,将第一步导出的XML导入,至此完成数据库迁移。

JIRA使用自带的嵌入式数据库还是比较快的,不过占用内存太大。

1.将项目导出成XML文件。

2、停止JIRA服务。

3.安装MYSQL,最好将MYSQL的字符集设置为UTF-8.在服务启动所使用的my.ini中修改。

default-character-set=utf8

4.创建MYSQL数据库,create database jiradb character set utf8;,如果不是UTF8的字符集,长的文本导入时会报错,无法导入。

5.创建连接用户,密码。 如果连接的是远程的数据库,请在用户配置中HOSTNAME这一栏,标明应用服务器的IP。(我用Navicat mysql配置MYSQL数据库的)

6.修改conf/server.xml

<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false">
          <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
            username="[enter db username]"
            password="[enter db password]"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost/jiradb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"
           [ 删除这儿的 minEvictableIdleTimeMillis 和 timeBetweenEvictionRunsMillis 参数配置]        />

7、配置 JIRA Entity Engine

<!-- DATASOURCE - You will need to update this tag for your installation.

-->
  <datasource name="defaultDS" field-type-name="mysql"
     [ 如果这句存在的话,请删除。schema-name="PUBLIC" ]

8.MySQL driver

将MySQL JDBC 驱动 (mysql-connector-java-3.x.x-bin.jar) 放在common/lib/ 目录下,否则会报连接不到数据库的错误。注意,在CLASSPATH不要放Debug版本的驱动 (mysql-connector-java-3.x.x-bin-g.jar) 否则会引起这个错误(JRA-8674).

9.启动JIRA,看一下有没有错误。一般如果报用户名密码不对,尝试三次连接的,请检查你的用户密码。报连接不到MYSQL的,请检查你的MYSQL 驱动。启动完成后,进入JIRA安装页面,将备份的XML文件导入就OK了。

迁移到Oracle存储.
 
1. 先在Oracle中新建数据库或者表空间, 并创建个Jira使用的用户, 设置好权限.
 
2. 进入Jira管理界面, 左侧Import & Export-Backup Data to XML, 填写备份文件名, 点击Backup按钮保存当前数据库的数据.
 
3. 停止Jira服务, 进入Jira安装目录的conf子目录, 编辑server.xml, 修改Context的username, password, driverClassName和url属性段, 比如:
 
username="jira"
password="jira"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:scrs/scrs@211.88.26.101:1521:gftdb"
 
同时还要删除以下两行只适用于HSQL的属性
 
minEvictableIdleTimeMillis="4000"
timeBetweenEvictionRunsMillis="5000"
 
再添加上一行以存储大文本, 否则只能储存32K字节大小的文本
 
connectionProperties="SetBigStringTryClob=true"
 
4. 修改Jira目录下的atlassian-jira\WEB-INF\classes\entityengine.xml
 
将datasource里的field-type-name改成oracle10g并删除schema-name="PUBLIC", 因为它只适用于HSQL而不适用于Oracle
 
5. 拷贝Oracle公司发布的JDBC驱动ojdbc14.jar到Jira目录下的common\lib
 
注意: 按照官方网站说明, 选择10.1.0.5版的驱动最佳, 其它版本的可能会导致挂起或者数据恢复时异常问题. 下载页面: http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html, 选中Accept点击下载 ojdbc14.jar (1,378,346 bytes) - classes for use with JDK 1.4 这个就对了.
 
6. 最后一步, 启动Jira, 打开页面会出现配置向导, 此时选择恢复并填好之前备份好的xml文件名(注意需要填写绝对路径)和index索引目录路径, 确定就完成数据库迁移工作了, 
 
附: 似乎备份的数据不包括邮件服务器的设置, 可能恢复后需要重新进行手动配置

JIRA数据库的迁移,从HSQL到MYSQL/Oracle的更多相关文章

  1. 数据库数据迁移 SqlServer复制到mysql

    经过一番搜索,有朋友推荐用datax的,后来发现比较麻烦,需要循环每个表去复制:有推荐用Navicat的,但是方式有点行不通,会报文件打不开:无法打开Provider=SQLNCLI10.1;Pers ...

  2. JIRA数据库切换(HSQL Database到MySQL)

    没试过的版本,但是看着靠谱: 注:如果你之前配置过hsql版本,这次修改mysql数据操作会导致配置数据丢失,所以请注意备份 一. 创建名为jiradb的mysql数据,编码格式为utf-8 二.修改 ...

  3. finedb(内置的HSQL数据库)迁移数据到MySQL

    finedb(内置的HSQL数据库)迁移数据到MySQL 1. 前言 在FineBI中,决策平台的数据(用户.角色.组织机构.权限等信息)是存储在finedb数据库中的,默认情况下finedb是一个内 ...

  4. mysql 数据库视图迁移

    最近做一个项目,为了方便查询,建了好多的视图表,正式上线的时候需要把本地数据库迁移到服务器上. 按照常规方法: 1."导出sql","导入sql",发现视图没过 ...

  5. mysql 数据库数据迁移 The user specified as a definer ('root'@'%') does not exist 解决方法

    从一个数据库数据迁移到本地localhost 程序在调用到数据库的视图时报错,直接在数据库中打开视图时也报错,类似: mysql 1449 : The user specified as a defi ...

  6. Pentaho BIServer Community Edtion 6.1 使用教程 第二篇 迁移元数据 [HSQLDB TO MySQL]

    第一部分  迁移原因 Pentaho BI 社区版服务的很多元数据信息存储在数据库汇总,其默认使用HSQLDB 数据库,即借助它存储自身的资料库,比如 Quartz 调度信息.业务资料库连接信息(数据 ...

  7. EntityFramework 数据库的迁移

    第一步:在程序包管理器控制台里: Enable-Migrations -ProjectName EF所在的项目名称 第二步:运行后会在字段生成Migrations文件夹,Migrations-> ...

  8. sql server 导出的datetime结果 CAST(0x00009E0E0095524F AS DateTime) 如何向mysql,oracle等数据库进行转换

    1. 处理 sql server 导出的 datetime 类型的字段 在进行sql server向mysql等其他数据进行迁移数据时,会发现使用sql server导出的datetime类型的结果是 ...

  9. 异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

    使用Spring 的JDBCtemplate 调用数据库的时候 出现了如下的问题 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-S ...

随机推荐

  1. Python逆向(五)—— Python字节码解读

    一.前言 前些章节我们对python编译.反汇编的原理及相关模块已经做了解读.读者应该初步掌握了通过反汇编获取python程序可读字节码的能力.python逆向或者反汇编的目的就是在没有源码的基础上, ...

  2. AspNetCore3.0 和 JWT

    添加NuGet引用 IdentityModel Microsoft.AspNetCore.Authorization.JwtBearer 在appsettings.json中添加JwtBearer配置 ...

  3. [WEB安全]XSS命令总结

    一:正常构造方式: 1.无过滤,直接写: <script>alert(1)</script> 2.正常截断: "> <script>alert(1) ...

  4. [MYSQL手工注入](3)基于报错的SQL注入实战

    0x03 MYSQL 手工注入实战--基于错误的 SQL 注入 今天如愿以偿的找到了基于错误的SQL注入环境了:是一个国外卖音响的小网站,还在建设中: 看一下报错信息: (1)确定闭合语句:从上面的报 ...

  5. mui openWindow方法详细说明

    mui.openWindow({ url: 'xxx.html', //String类型,要打开的界面的地址 id: 'id', //String类型,要打开的界面的id styles: { //We ...

  6. JAVA基础之访问控制权限

    包:库单元 1.当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元). 2.每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类名称必须 ...

  7. C 套接字

    套接字函数 1 创建套接字──socket() 应用程序在使用套接字前,首先必须拥有一个套接字,系统调用socket()向应用程序提供创建套接字的手段,   其调用格式如下:SOCKET PASCAL ...

  8. blaze advisor模型部署工具

    python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...

  9. IM 简介

    LayIM - 打造属于你自己的网页聊天系统http://layim.layui.com/ 瓜子IM智能客服系统的数据架构设计(整理自现场演讲) - 知乎https://zhuanlan.zhihu. ...

  10. Java基础 main 参数String[] args的用法

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...