Jira數據庫遷移,從HSQL到MYSQL
- 通過JIRA管理員登錄,進入“管理員頁面”,“系統”--“導入&導出”,以XML格式備份數據。
- 在MySQL中創建Schema,命名為jira
- 關閉JIRA服務
- 備份一下JIRA的安裝目錄和數據目錄
- 在JIRA的數據目錄下刪除文件:dbconfig.xml
- 重新啟動JIRA服務
- 再訪問JIRA,會再次出現第一次安裝時候的數據庫配置。在這里輸入MySQL的地址、用戶名、密碼、數據庫名稱等,測試連接成功后,點擊下一步
- 選擇“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&useUnicode=true&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索引目錄路徑, 確定就完成數據庫遷移工作了,
附: 似乎備份的數據不包括郵件服務器的設置, 可能恢復后需要重新進行手動配置