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索引目录路径, 确定就完成数据库迁移工作了, 
 
附: 似乎备份的数据不包括邮件服务器的设置, 可能恢复后需要重新进行手动配置

最新文章

  1. 数据泵Expdp和Impdp
  2. KEIL与ADS1.2共存
  3. HTML标签的offset、client、 scroll和currentStyle属性
  4. mongoDB 查询附近的人的语句
  5. Redis 的性能幻想与残酷现实(转)
  6. Ubuntu iptables 设置
  7. Java Web(九) 用户管理系统
  8. Thinking in Java系列 文档+代码+简评
  9. C# QQ邮箱注册,以及数秒
  10. MySQL 主从复制实战解析
  11. PowerDesigner15连接Oracle数据库并导出Oracle的表结构
  12. linux系统执行mysql脚本:Can&#39;t connect to local MySQL server through socket &#39;/tmp/mysql.sock&#39;
  13. 实现A-Z滑动检索菜单
  14. java 基础排序算法
  15. 字符串类型的日期转化为Date类型
  16. .net core vs2015 vs2017打开后errpr
  17. Unicode编码与中文互转
  18. 【oracle入门】数据库系统结构----三级模式
  19. cocos2d-x 开发用到的工具
  20. leecode第一百四十二题(环形链表II)

热门文章

  1. 《挑战30天C++入门极限》C++类的继承与多重继承的访问控制
  2. php unset
  3. java使用freemark生成word/pdf
  4. SignalR简单实用_转自:https://www.cnblogs.com/humble/p/3851205.html
  5. 三大框架 之 Spring-Aop
  6. centos6安装vim插件youcompleteme问题及解决
  7. [转]Myeclipse之web项目的部署(发布)流程
  8. CMU Database Systems - Indexes
  9. java高级开发
  10. 【django学习】request.POST与request.POST.get两者主要区别