JIRA使用教程:連接數(shù)據(jù)庫—MySQL
本文主要介紹如何連接JIRA到MySQL數(shù)據(jù)庫。
相關(guān)資料推薦:
將Jira應(yīng)用程序連接到SQL Server 2017
首先
- 查看MySQL的版本是否支持,查閱支持的平臺(tái)。
- 如果是轉(zhuǎn)移JIRA到另一臺(tái)服務(wù)器,先導(dǎo)出數(shù)據(jù)為XML備份,然后將舊數(shù)據(jù)庫中的數(shù)據(jù)傳輸?shù)叫碌臄?shù)據(jù)庫。
- 如果你打算用同一個(gè)MySQL服務(wù)器安裝Confluence和JIRA,請(qǐng)閱讀Confluence MySQL安裝指南,配置你的MySQL服務(wù)器來適應(yīng)Confluence以及JIRA。注意Confluence要求比JIRA要嚴(yán)格,因此應(yīng)該配置MySQL來適應(yīng)Confluence,這種配置同樣也適用于JIRA。
- 在開始前關(guān)閉JIRA,除非你正在運(yùn)行Setup Wizard。
1.創(chuàng)建并配置MySQL數(shù)據(jù)庫
- 創(chuàng)建與JIRA連接的數(shù)據(jù)庫用戶(登錄角色)例如:jiradbuser。
mysql> CREATE USER '< USERNAME>'@'< JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '< PASSWORD>';
- 創(chuàng)建一個(gè)數(shù)據(jù)庫(如jiradb)來存儲(chǔ)JIRA的問題,數(shù)據(jù)庫必須有一個(gè)UTF8的字符集。在MySQL命令客戶端輸入以下命令:
CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;
- 確保該用戶擁有連接數(shù)據(jù)庫以及創(chuàng)建和寫入表的權(quán)限。授權(quán)命令如下:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on < JIRADB>.* TO
'< USERNAME>'@'< JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '
Tip:
為了確認(rèn)權(quán)限是否被授予成功,用JIRA DB用戶登錄到DB服務(wù)器并運(yùn)行一下命令:
為了確認(rèn)權(quán)限是否被授予成功,用JIRA DB用戶登錄到DB服務(wù)器并運(yùn)行一下命令:
SHOW GRANTS FOR < USERNAME>@< JIRA_SERVER_HOSTNAME>;
2.將MySQL JDBC驅(qū)動(dòng)程序復(fù)制到應(yīng)用服務(wù)器
如果是升級(jí)JIRA并且使用的是推薦的MySQL驅(qū)動(dòng)器(Connector/J JDBC driver v5.1),可跳過此步。JIRA更新會(huì)自動(dòng)復(fù)制已存在的驅(qū)動(dòng)到升級(jí)后的安裝。
將MySQL JDBC驅(qū)動(dòng)程序復(fù)制到你的應(yīng)用服務(wù)器
- 獲得MySQL驅(qū)動(dòng)程序:
- 如果是安裝JIRA,下載推薦的MySQL驅(qū)動(dòng)器Connector/J JDBC driver v5.1。
可通過選擇'Platform Independent'選項(xiàng)下載.tar.gz或.zip文件。從存檔中為驅(qū)動(dòng)提取jar(例如:mysql-connector-java-5.x.x-bin.jar)。 - 如果是升級(jí)JIRA并且沒有使用推薦的MySQL驅(qū)動(dòng)(JDBC Connector/J 5.1),在更新前先從JIRA備份驅(qū)動(dòng)程序。驅(qū)動(dòng)程序?qū)⒋鎯?chǔ)在
- 復(fù)制MySQL JDBC驅(qū)動(dòng)程序到
- 重啟JIRA/JIRA服務(wù)器。
- 如果正在安裝JIRA,跳過該頁面的其他指示,通過瀏覽器連接JIRA來運(yùn)行Setup Wizard。
注意:
- 上面推薦的MySQL Connector/J驅(qū)動(dòng),有用戶報(bào)告遇到Resin JDBC driver for MySQL的問題。
3.配置JIRA服務(wù)器來連接MySQL數(shù)據(jù)庫
三種配置JIRA服務(wù)器連接MySQL數(shù)據(jù)庫的方法:
- 使用JIRA安裝向?qū)?/strong>(不適用于JIRA WAR)-如果你已經(jīng)安裝JIRA并且是第一次設(shè)置,你的設(shè)置將被保存到JIRA主目錄的dbconfig.xml文件里。
- 使用JIRA配置工具(不適用于JIRA WAR)-如果有已存在的JIRA實(shí)例,你的設(shè)置將被保存到JIRA主目錄的dbconfig.xml文件里。
- 手動(dòng)配置-只有當(dāng)你有JIRA WAR實(shí)例或控制臺(tái)時(shí)使用這種方法鏈接到JIRA服務(wù)器。你需要手動(dòng)更新JIRA主目錄里的dbconfig.xml文件。
每種配置方法的說明:
JIRA setup wizard | 當(dāng)首次在瀏覽器連接JIRA時(shí),JIRA設(shè)置向?qū)Ь蜁?huì)出現(xiàn)。
|
JIRA configuration tool |
|
Manually |
|
數(shù)據(jù)庫連接字段:
setup wizard/configuration tool | dbconfig.xml | Description |
Hostname | 位于< url>標(biāo)記(例如下面的粗體文字): < url>jdbc:mysql://dbserver:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB< /url> | 安裝MySQL服務(wù)器的機(jī)器名稱或IP地址。 |
Port | 位于< url>標(biāo)記(例如下面的粗體文字): < url>jdbc:mysql://dbserver:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB < /url> | MySQL服務(wù)器正在監(jiān)聽的TCP/IP端口。也可以留空來使用默認(rèn)端口。 |
Database | 位于< ;url>標(biāo)記(例如下面的粗體文字): < url>jdbc:mysql://dbserver:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB < /url> | MySQL數(shù)據(jù)庫(JIRA數(shù)據(jù)將保存的數(shù)據(jù)庫)的名稱。應(yīng)該在上面第一步時(shí)創(chuàng)建。 |
Username | 位于< username>標(biāo)記(例如下面的粗體字): < username>jiradbuser < /username> | JIRA用于連接MySQL服務(wù)器的用戶。應(yīng)在上面第一步時(shí)創(chuàng)建。 |
Password | 位于< password>標(biāo)記(例如下面的粗體字): < password>jiradbuser < /password> | 用于與MySQL服務(wù)器身份驗(yàn)證的用戶密碼。 |
dbconfig.xml文件示例
4.啟動(dòng)JIRA
現(xiàn)在JIRA連接到MySQL數(shù)據(jù)庫就配置好了。下一步就是啟動(dòng)JIRA。
- 如果正在使用JIRA的'recommended'分配,啟動(dòng)它,并觀察日志中是否存在錯(cuò)誤。
- 如果使用的是JIRA WAR分配,重建并重新部署在應(yīng)用服務(wù)器的Web應(yīng)用程序。
安裝注意事項(xiàng)
已知的問題和解決方案:
- 權(quán)限中的主機(jī)名稱相當(dāng)于字符串-如果在MySQL中授權(quán)給主機(jī)名為localhost,那么從JIRA連接數(shù)據(jù)庫時(shí)必須使用相同的字符串。因此使用127.0.0.1就不能工作,盡管它們指向同一個(gè)地址。這將產(chǎn)生一個(gè)找不到表的錯(cuò)誤,這是因?yàn)楫?dāng)啟動(dòng)JIRA時(shí)JDBC連接沒有創(chuàng)建表的權(quán)限。
- 連接關(guān)閉-如果使用下面任何一個(gè)來使用MySQL數(shù)據(jù)庫,可能會(huì)遇到連接關(guān)閉的問題(詳見JRA-15731)。閱讀Surviving Connection Closures來解決問題。
- JIRA 3.13 or above,
- version 5.5.25 or higher of Tomcat 5,
- version 6.0.13 or higher of Tomcat 6,
- 數(shù)據(jù)庫密碼特殊字符-JIRA不能釋義數(shù)據(jù)庫密碼中的特殊字符,請(qǐng)參考設(shè)置數(shù)據(jù)庫密碼。
- 使用InnoDB存儲(chǔ)引擎- 先前MySQL Server版本到5.5使用的是默認(rèn)存儲(chǔ)引擎MyISAM。因此JIRA數(shù)據(jù)庫在默認(rèn)配置的MySQL Server5.5以前的版本運(yùn)行時(shí),可能導(dǎo)致JIRA中的數(shù)據(jù)損壞。強(qiáng)烈建議在數(shù)據(jù)庫指定sessionVariables=storage_engine=InnoDB參數(shù)。這樣做確保寫入到JIRA的MySQL數(shù)據(jù)庫的表將使用InnoDB存儲(chǔ)引擎,它支持JIRA需要的'database transactions'。
- 二進(jìn)制日志-注意JIRA的MySQL使用'READ-COMMITTED'事務(wù)隔離級(jí)別,目前只支持基于行的二進(jìn)制日志。若需要MySQL的二進(jìn)制日志功能,則必須配置MySQL的二進(jìn)制日志格式為'row-based'。否則,在JIRA中創(chuàng)建問題時(shí)可能會(huì)出錯(cuò)。詳見當(dāng)使用MySQL的二進(jìn)制日志時(shí)不能創(chuàng)建問題。
- 4字節(jié)字符-注意JIRA不支持MySQL使用4字節(jié)字符。
相關(guān)產(chǎn)品購買請(qǐng)咨詢"在線客服"。
JIRA Software、JIRA Servcie Desk均已更新至最新版本,更多實(shí)用功能等你來體驗(yàn)!