別のデータベースへの移行
このドキュメントでは、Confluence のデータを既存のデータベースから別のデータベースに移行する方法について説明します。以下の手順は、主に評価データベースから本番データベースに移行することを目的としています。
大規模なデータセットの移行には、サードパーティのデータベース移行ツールが必要になります。
本ページでは、次のシナリオを取り上げます。
- 組み込みのテスト用データベースからサポートされた外部データベースへの移行。
- 1 つの外部データベースから別の外部データベースへの移行、たとえば、Oracle から PostgreSQL (データセットが大きくない場合)
- 同じ外部データベースの新しいバージョンへのアップグレード。注意:同じ場所でデータベースをアップグレードする場合、データを移行する必要はありません。
1 つのサーバーから別のサーバーにデータベースを移行する場合、<confluence-home>/confluence.cfg.xml
(JDBC への直接接続を使用している場合)、またはデータソースの定義 (データソース経由で接続している場合) で JDBC URL を変更できます。
MySQL データベースをあるサーバーから別のサーバーに移行する場合は、このページの下部にある注記をご参照ください。
データベース移行の制限事項
データベースの移行
移行を実行する方法には 2 種類あり、どちらも本ページで説明しています。
方法 1 は標準的な手順です。
インストールの添付ファイルの合計サイズが 500 メガバイトを超える場合、方法 2 を使用します。
Amazon Aurora データベースへの移行
Amazon Aurora データベースに移行する場合、「Amazon Aurora を使用するために Confluence Data Center を構成する」を参照してください。このガイドでは、Amazon Aurora クラスタに移行して Confluence Data Center に接続する方法が説明されています。
方法 1 - 標準的な手順
ステップ 1: Marketplace アプリを記録する
現在 Confluence にインストールされ、有効化されているアプリ (プラグイン / アドオン) を記録し、それらをあとから戻せるようにします。それぞれのアプリについて、以下の項目を記録します。
- アプリ名およびベンダー
- バージョン
- 有効か無効化の状態。自分でモジュールを有効化または無効化して、設定を既定から変更している場合に、この情報が役立ちます。
ステップ 2: データをバックアップする
- 既存データの XML バックアップを作成します。「サイトを手動でバックアップする」をご確認ください。XML ファイルの置き場所をメモします。このメモは、後で新しいデータベースに Confluence データをインポートするために必要になります。
- Confluence を停止します。
- Confluence ホーム ディレクトリ のコピーを作成します。これは、データが誤って上書きされた場合に、データを回復できるようにするための予防措置です。
- 外部データベースを使用している場合、そのデータベースとともにインストールされたユーティリティを使用して、バックアップを別に作成します。これも予防措置です。
ステップ 3:新しいデータベースを設定する
- データベース サーバーをインストールします。
- 手順にしたがって、データベース サーバーに必要な設定を行います。
- Confluence データベースとユーザーを追加します。このステップで定義したユーザー名とパスワードをメモしておきます。あとで Confluence セットアップ ウィザードを実行するときに、このメモ内容が必要になります。
ステップ 4.新しい場所に Confluence(同じバージョン番号)をインストールする
注意: 既存のインストールと同じバージョンの Confluence を使用する必要があります。(Confluence をアップグレードする場合は、別のステップとして実行する必要があります。)たとえば、Confluence 5.1.2 を実行している場合、新しいインストールも Confluence 5.1.2 である必要があります。
Confluence インストーラーを実行する場合は、
- カスタム インストールを選択します 。(既存のインストールのアップグレードは選択 しません。)
- 新しいインストール先ディレクトリ を選択します。これが新しい Confluence インストール ディレクトリです。これは既存の Confluence インストールと同じであってはなりません。
- 新しいホーム ディレクトリ を選択します。これが新しい Confluence のデータ ディレクトリです。これは既存の Confluence インストールと同じであってはなりません。
ステップ 5.必要に応じて、データベース ドライバをダウンロードし、インストールする
ステップ 6.Confluence のセットアップ ウィザードを実行し、新しいデータベースにデータをコピーする
- いつも通りにライセンス キーを入力します。
- インストール種別は、本番用インストールを選択します。
- 独自データベースを選択して、データベース タイプ ドロップダウン メニューから特定のデータベースを選択します。
- プロンプトが出されたら、独自のデータベースを選択してから、新しいデータベース タイプを選択します。
- データベースの詳細を入力します。テスト接続を使用して、データベースが正しく設定されていることを確認します。
- コンテンツの読み込みステップでは、バックアップからの復元 を選択します。ここで XML バックアップからデータをインポートします。XML ファイルにアクセスする方法には、次の 2 つのオプションがあります。
- ネットワーク上の XML バックアップの場所を参照し、アップロードと復元を選択します 。
- 別の方法としては、新しいサイトの Confluence ホーム ディレクトリ (
<CONFLUENCE-HOME-DIRECTORY>\restore
) に XML ファイルを置き、[復元] を選択します。この方法は、大規模な XML ファイルの場合に推奨されます。
注意: Confluence セットアップ ウィザードで復元しないことを選択した場合は、後でインポートを行うことができます。Confluence 管理コンソールに移動し、XML バックアップを復元することを選択します。サイトのバックアップと復元 を参照してください。
ステップ 7. Marketplace アプリの再インストール
- 古い Confluence サイトのアプリと同じバージョンのアプリを使用します。
- アプリによって作成されたデータは XML バックアップに含まれるため、新しい Confluence サイトにすでに存在します。
ステップ 8.新しいマシンの設定を確認する
Confluence を別のマシンに移行する場合、次の設定を確認する必要があります。
- 新しいベース URL を設定します。 サーバー ベース URL の設定 を参照してください。
- アプリケーション リンクを確認します。別のアプリケーションへのリンク を参照してください。
- この Confluence サイトを示す、外部サイトからのガジェット サブスクリプションをすべて更新します。たとえば、Jira サイトが Confluence ガジェットをサブスクライブしている場合、Jira サイトを更新する必要があります。
- 他のシステムが Confluence から取得している他のリソースをすべて確認します。
方法2 - 大容量の添付ファイルをインストールする場合
始める前に
以下の説明は、ファイルシステムに保存されている添付ファイルにのみ適用されます。データベース内に添付ファイルを保存している場合は、添付ファイルの保存設定 を参照して、添付ファイルの保存方法を変更して移行する方法を調べてください。
ステップ 1: Marketplace アプリを記録する
現在 Confluence にインストールされ、有効化されているアプリ (プラグイン / アドオン) を記録し、それらをあとから戻せるようにします。それぞれのアプリについて、以下の項目を記録します。
- アプリ名およびベンダー
- バージョン
- 有効か無効化の状態。自分でモジュールを有効化または無効化して、設定を既定から変更している場合に、この情報が役立ちます。
ステップ 2: データをバックアップする
- 既存データの XML バックアップを作成します。「サイトを手動でバックアップする」をご確認ください。XML ファイルの置き場所をメモします。このメモは、後で新しいデータベースに Confluence データをインポートするために必要になります。
- Confluence を停止します。
- Confluence ホーム ディレクトリ内の attachments ディレクトリ (
<CONFLUENCE-HOME-DIRECTORY>\attachments
) のコピーを作成します。このデータは、以降で新しい Confluence インストールに Confluence の添付ファイル データをコピーする際に必要になります。 - 外部データベースを使用している場合、そのデータベースとともにインストールされたユーティリティを使用して、バックアップを別に作成します。これも予防措置です。
ステップ 3:新しいデータベースを設定する
- データベース サーバーをインストールします。
- 手順にしたがって、データベース サーバーに必要な設定を行います。
- Confluence データベースとユーザーを追加します。このステップで定義したユーザー名とパスワードをメモしておきます。あとで Confluence セットアップ ウィザードを実行するときに、このメモ内容が必要になります。
ステップ 4.新しい場所に Confluence(同じバージョン番号)をインストールする
注意: 既存のインストールと同じバージョンの Confluence を使用する必要があります。(Confluence をアップグレードする場合は、別のステップとして実行する必要があります。)たとえば、Confluence 5.1.2 を実行している場合、新しいインストールも Confluence 5.1.2 である必要があります。
Confluence インストーラーを実行する場合は、
- カスタム インストールを選択します 。(既存のインストールのアップグレードは選択 しません。)
- 新しいインストール先ディレクトリ を選択します。これが新しい Confluence インストール ディレクトリです。これは既存の Confluence インストールと同じであってはなりません。
- 新しいホーム ディレクトリ を選択します。これが新しい Confluence のデータ ディレクトリです。これは既存の Confluence インストールと同じであってはなりません。
ステップ 5.必要に応じて、データベース ドライバをダウンロードし、インストールする
ステップ 6. Confluence のセットアップ ウィザードを実行し、新しいデータベースにデータをコピーする
- いつも通りにライセンス キーを入力します。
- インストール種別は、本番用インストールを選択します。
- 独自データベースを選択して、データベース タイプ ドロップダウン メニューから特定のデータベースを選択します。
- プロンプトが出されたら、独自のデータベースを選択してから、新しいデータベース タイプを選択します。
- データベースの詳細を入力します。テスト接続を使用して、データベースが正しく設定されていることを確認します。
- コンテンツの読み込みステップでは、バックアップからの復元 を選択します。ここで XML バックアップからデータをインポートします。XML ファイルにアクセスする方法には、次の 2 つのオプションがあります。
- ネットワーク上の XML バックアップの場所を参照し、アップロードと復元を選択します 。
- 別の方法としては、新しいサイトの Confluence ホーム ディレクトリ (
<CONFLUENCE-HOME-DIRECTORY>\restore
) に XML ファイルを置き、[復元] を選択します。この方法は、大規模な XML ファイルの場合に推奨されます。
注意: Confluence セットアップ ウィザードで復元しないことを選択した場合は、後でインポートを行うことができます。Confluence 管理コンソールに移動し、XML バックアップを復元することを選択します。サイトのバックアップと復元 を参照してください。
ステップ 7 :添付ファイルをコピーする
attachments ディレクトリ (<CONFLUENCE-HOME-DIRECTORY>\attachments
) のコンテンツを、古い Confluence ホーム ディレクトリから新しい Confluence ホーム ディレクトリにコピーします。
ステップ 8. Marketplace アプリの再インストール
- 古い Confluence サイトのアプリと同じバージョンのアプリを使用します。
- アプリによって作成されたデータは XML バックアップに含まれるため、新しい Confluence サイトにすでに存在します。
ステップ 9.新しいマシンの設定を確認する
Confluence を別のマシンに移行する場合、次の設定を確認する必要があります。
- 新しいベース URL を設定します。 サーバー ベース URL の設定 を参照してください。
- アプリケーション リンクを確認します。別のアプリケーションへのリンク を参照してください。
- この Confluence サイトを示す、外部サイトからのガジェット サブスクリプションをすべて更新します。たとえば、Jira サイトが Confluence ガジェットをサブスクライブしている場合、Jira サイトを更新する必要があります。
- 他のシステムが Confluence から取得している他のリソースをすべて確認します。
データベース内の大文字と小文字の区別に関する注意
「照合」はデータの並べ替えと比較の方法を決定する一連のルールを指します。大文字と小文字の区別は照合の観点の 1 つです。他の観点としては、仮名(日本語スクリプト)の区別や文字幅(1 バイト文字と 2 バイト文字)の区別があります。
新しい Confluence インスタンスの設定
新しい Confluence インスタンスの場合、Confluence データベースで大文字と小文字を区別する照合を使用することをお勧めします。これは多くのデータベースシステムで使用される既定の照合タイプです。
注意:データベースが大文字と小文字を区別して照合するように設定されている場合でも、Confluence はすべてのユーザー名を小文字に変換してからデータベースに保存します。たとえば、「joebloggs」と「joeBloggs」と「JoeBloggs」は同じユーザー名として扱われることになります。
別のデータベースへの既存の Confluence インスタンスの移行
既定の Confluence 設定では、データベースで大文字と小文字を区別する照合を使用します。これは、既定の条件で作成されたデータベースでは典型的な設定です。このタイプの設定から新しいデータベースに移行する場合、新しいデータベースで大文字と小文字を区別する照合を使用することをお勧めします。データを保存していた元の Confluence サイトでは大文字と小文字の区別が必要であり、移行先で大文字と小文字を区別しない照合を使用する場合、(たとえば、XML インポート経由で)移行した後のデータに整合性の問題が発生する可能性があります。
サーバー間で MySQL データベースを移行する
Confluence 7.11 以降のバージョンでは、データベース トリガーと手順が導入されました。mysqldump
を移行に使用する場合は、mysqldump
コマンドに別のパラメーターを追加する必要があります。詳細については、「Confluence MySQL データベースの移行が原因で「content_procedure_for_denormalised_permissions は存在しません」エラーが発生する」をご参照ください。
さらに、Confluence は、サーバーのユーザー情報とホスト名/IP をハードコードした項 DEFINER
をそのプロシージャに使用します。データベース ダンプが生成されると、DDL にユーザー名 / アカウントが入ったプロシージャがエクスポートされます。同じユーザー名 / アカウントに同じ権限が付与されていないデータベースにダンプをインポートすると、エラーが発生します。詳細については、「MySQL エラー1449: 定義者として指定されたユーザーが存在しない」をご参照ください。
トラブルシューティング
XML バックアップを復元することができない場合は、トラブルシューティング ガイド を参照してください。