きっかけ & やりたいこと
最近JIRAを使っておりますが、まだ運用経験を蓄積する段階です。
(どこにデータが溜まるのか、とか、停止時になにが起こるか、とか…)
さて、セットアップはしたものの、本当はDBを HSQLではなくPostgreSQLに指定したかったのに うっかりHSQLでウィザードを進めてしまった…というケースが数回ありました(^^;
レアケースだとは思いますが、実際にどうしたかをアップします。
DBの切替方法
HSQLでデータをいくらか蓄積してしまっていた場合
切替を行う前に、すでにいくらか設定やチケットを作ってしまっていた場合は、いったん綺麗なDBで構成してから、論理バックアップ(XML)を使って復元することができます。
- とりあえずDBを切り替える前に、XMLでのバックアップを取得します。
- PostgreSQLやMySQLでセットアップを完了したあと、『バックアップから復元』を指定して、データをインポートします。
では、以下はDB切替の方法を2つご紹介。
新規にJIRAをインストールして、正しいDB設定でウィザードを完了
つまり、やり直しってことです。
一応、既存のインストールディレクトリはrenameしておきましょう…。
設定変更用のスクリプトを実行する
インストーラーを使わずに設定変更したい…と思ったのですが、最初は気がつかず、上記の再インストールを実施しました。
が、なにやら JIRA configuration tool というのがあるそうです!
今回、(またもDB設定忘れを経験したため)、ここを参考にして切替ました。
- Connecting JIRA to PostgreSQL / Atlassian
では、手順を。
# sh config.sh
No JRE_HOME or JAVA_HOME environment variable is set - attempting to just run java command
Loading application properties from /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/jira-application.properties
Reading database configuration from /data/application-data/jira/dbconfig.xml
No graphics display available; using console.
----------------------
JIRA Configurator v1.1
----------------------
--- Main Menu ---
[H] Configure JIRA Home
[D] Database Selection
[W] Web Server (incl. HTTP/HTTPs configuration)
[A] Advanced Settings
[S] Save and Exit
[X] Exit without Saving
Main Menu> D
DBの設定変更に進みます。
--- Database Selection ---
Database Type : HSQL
Instance : (unused)
Connect As : sa / (no password)
* [H] HSQL (not for production use)
[M] MySQL
[O] Oracle
[P] PostgreSQL
[S] SQL Server (MS-SQL)
[X] Return to Main Menu
Database Selection [H]> P
PostgreSQLを選びます。
すると、コマンドラインでDBの設定ウィザードが。
『接続テストしますか?』まで聞いてくれます!
PostgreSQL Database Configuration.
Hostname (localhost)> localhost
Port (5432)>
Database (jira)> jiradb
Username (jira)> jira
Password (*****)>
Test Connection ([Y]/N)? > Y
Attempting to connect to localhost:5432/jiradb
Connection successful!
--- Database Selection ---
Database Type : PostgreSQL
Instance : localhost:5432/jiradb
Connect As : jira / *****
[H] HSQL (not for production use)
[M] MySQL
[O] Oracle
* [P] PostgreSQL
[S] SQL Server (MS-SQL)
[X] Return to Main Menu
メインメニューに戻ってSAVE。
--- Main Menu ---
[H] Configure JIRA Home
[D] Database Selection
[W] Web Server (incl. HTTP/HTTPs configuration)
[A] Advanced Settings
[S] Save and Exit
[X] Exit without Saving
Main Menu> S
Storing database configuration in /data/application-data/jira/dbconfig.xml
Settings saved successfully.
設定ファイルが下記変わった模様です!
いよいよ起動!
initスクリプトで起動させてみると….。
あれれ?
エラーになってます!
The schema-name="PUBLIC" only works for a field-type-name of "hsql".
と、文句を言われています..。
別環境ですでに稼働しているJIRA / PostgreSQLの設定を確認すると、schema-name="public" と小文字。
早速修正してプロセス再起動をすると….。
めでたく起動すると、セットアップウィザードの画面が出ますが、ここではDBの選択ダイアログは出て来ません。
ちゃんとPostgreSQLを使う前提になっている模様です :)
※なお、dbconfig.xmlを修正しても、再起動しないと反映されませんでした。
セットアップ完了後に確認
基本のセットアップが終わったので、管理画面の『システム情報』から確認してみます。
ちゃんとDBがPostgreSQLになっています :)
よかった良かった。
備考
上記、ツールからの設定変更は後から知ったので、それまでは設定用のxmlファイルを調整してあれこれいじったり、インストールツールから最初からやりなおしていました….