MySQL データベースセットアップ
このページでは、Confluence を設定して MySQL データベースを利用する方法について説明します。
始める前に
- ご使用の MySQL のバージョンがサポート対象であるかどうかについては、「サポート対象プラットフォーム」を参照してください。Confluence をインストールする前にデータベースのアップグレードが必要になる場合があります。
- 別のデータベース (組み込みの評価データベースを含む) から切り替える場合、「別のデータベースへの移行」をお読みください。
Confluence は、MariaDB (CONFSERVER-29060) や Percona Server (CONFSERVER-36471) などの MySQL の派生版では機能しません。
1. MySQL サーバーをインストールする
MySQL がインストールされていない場合、ダウンロードしてインストールします。手順については、MySQL のドキュメントを参照してください。
2. MySQL サーバーを設定する
このステップでは、お使いの MySQL データベースサーバーを設定します。
注意:Confluence を既存の MySQL データベースサーバーに接続する場合、以下の説明に従って MySQL インストールウィザードで設定ステップを実行し、このデータベースサーバーを再設定することを強くお勧めします。
これらの手順は Confluence 7.3 以降に適用されます。以前のバージョンをお使いの場合は、「Confluence 7.2 以前での MySQL データベース セットアップ」を参照してください。
MySQL サーバーを設定するには:
- MySQL インストレーションウィザードを実行します:
- Confluence を既存の MySQL サーバーに接続している場合、インスタンス再設定を選択します。
- 高度な設定 (Advanced Configuration) を選択します。
- あなたのハードウェア要件に最も適した MySQL サーバーの種類を選択します。これは、MySQL サーバーのメモリ、ディスクおよび CPU リソースの使用度に影響を及ぼします。詳しくは、MySQL ドキュメンテーションを参考にして下さい。
- トランザクション データベースのみを選択して、お使いの MySQL データベースがそのデフォルト ストレージ エンジンとして InnoDB を利用するようにします。
Confluence では InnoDB ストレージ エンジンを利用する事を強くお勧めします。MyISAM ストレージ エンジンを利用すると、Confluence のデータ破損が引き起こされる可能性があります。 - 要件に InnoDB テーブルスペース設定を行います (デフォルト設定でも可能です)。
- お使いの Confluence の使用要件を満たす上で許可されている、大まかな同時接続数を設定します。プリセットの一つを利用するか、あるいは手動で数字を入力できます。詳しくは MySQL ドキュメンテーションを参照して下さい。
- ネットワーキングオプションでは、TCP/IP ネットワーキングを有効にするオプションと、Strict モードを有効にするオプションが選択されていることを確認します (既定)。詳しくは、ネットワーキングおよびサーバー SQL モードの設定に関する MySQL ドキュメントを参照してください。
- MySQL サーバーのデフォルトのキャラクターセットに関しては、Best Support For Multilingualism (いわば、UTF-8) を選択します。これによって、国際化に対する Confluence のサポートが保証されます。詳しくはデータベース文字エンコード設定を参照して下さい。
- Windows の設定オプションにおいては、MySQL サーバーを Windows サービスとしてインストールするかどうかを選択します。ご使用のハードウェアを専用 MySQL サーバーとして利用する場合、Windows サービスとしてインストールするオプション ( およびMySQL サーバーを自動的に起動するオプション) を選択することも可能です。詳細は、MySQL ドキュメントを参照してください。
注意:MySQL サーバーを Windows サービスとしてインストールしない場合、データベースサービスが Confluence 実行前に開始されていることを確認する必要があります。 - セキュリティ設定を修正するを選択して、MySQL サーバー (ルート) アクセスパスワードの入力と設定を行います。
- MySQL サーバーの
my.cnf
ファイル (Windows OS では my.ini
) を編集します。ファイルの[mysqld]
セクションを見つけて、次のパラメータを追加または編集します:
(my.cnf
とmy.ini
を編集する際の詳細な説明については「MySQL オプション ファイル」をご参照ください)
ファイルの[mysqld]
セクションを見つけて、以下のパラメータを追加するか修正します。デフォルトの文字セットを utf8mb4 に指定します。
[mysqld] ... character-set-server=utf8mb4 collation-server=utf8mb4_bin ...
デフォルトのストレージエンジンを InnoDB に設定します:
[mysqld] ... default-storage-engine=INNODB ...
max_allowed_packet
の値が 256 M 以上になるように指定します。[mysqld] ... max_allowed_packet=256M ...
innodb_log_file_size
の値が 2 GB 以上になるように指定します。[mysqld] ... innodb_log_file_size=2GB ...
sql_mode パラメーターが NO_AUTO_VALUE_ON_ZERO に指定されていないことを確認します。
// remove this if it exists sql_mode = NO_AUTO_VALUE_ON_ZERO
ご使用のデータベースのグローバル トランザクション分離レベルが READ-COMMITTED に設定されていることを確認します。
[mysqld] ... transaction-isolation=READ-COMMITTED ...
バイナリ ロギング形式が「row-based」バイナリ ロギングを使用するように設定されて、データベース ユーザーが保存機能を作成して変更できることを確認します。
[mysqld] ... binlog_format=row log_bin_trust_function_creators = 1 ...
MySQL 5.7 を使用している場合は、ダッシュボードの読み込みが遅くなる可能性があるため、「派生マージ」のオプティマイザー スイッチをオフにしてください。
optimizer_switch = derived_merge=off
- 変更内容を有効にするには、MySQL サーバーを再起動します:
- Windows 上では、Windows サービスマネージャーを利用してサービスを再起動します。
- Linux の場合
- お使いのセットアップに応じて、以下のコマンドを実行します: "
/etc/init.d/mysqld stop
"、"/etc/init.d/mysql stop
”、"service mysqld stop
"。 - 次に "
stop
" を "start
" に置き替えて同じコマンドを再び実行します。
- お使いのセットアップに応じて、以下のコマンドを実行します: "
- Mac OS X の場合、
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
を実行します。
3. データベースとデータベース ユーザーを作成する
MySQL をインストールして設定したら、次のように、Confluence 用のデータベース ユーザーとデータベースを作成します。
mysql
コマンドを MySQL のスーパー ユーザーとして実行します。既定ユーザーは "root" でパスワードはブランクです。空の Confluence データベース スキーマ (例:
confluence
) を作成します。CREATE DATABASE <database-name> CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Confluence データベース ユーザー (例:
confluenceuser
) を作成します。GRANT ALL PRIVILEGES ON <database-name>.* TO '<confluenceuser>'@'localhost' IDENTIFIED BY '<password>';
Confluence が同じサーバー上で実行されていない場合、localhost を Confluence サーバーのホスト名もしくは IP アドレスと置き替えます。
4. Confluence のインストール
お使いのオペレーティング システムに Confluence をインストールするための詳細な手順については、Confluence インストール ガイドを確認してください。
5. MySQL ドライバをダウンロードおよびインストールする
ライセンス上の制約のため、MySQL ドライバは Confluence にバンドルされていません。データベース ドライバを Confluence で使用できるようにするには、お使いの MySQL バージョンに応じて次の手順に従います。
MySQL 5.7
- Confluence を停止します。
- データベース JDBC ドライバにアクセスし、適切なドライバをダウンロードします。ドライバ ファイルは
mysql-connector-java-5.1.xx-bin.jar
のようになります。 - .jar ファイルを
<installation-directory>/confluence/WEB-INF/lib
ディレクトリにドロップします。 - Confluence を再起動してから、ブラウザで
http://localhost:<port>
を開き、セットアップ プロセスを続行します。
MySQL 8.0
Confluence 7.1 以前で MySQL 8.0 を使用することはできません。
- Confluence を停止します。
- データベース JDBC ドライバに進み、MySQL 8に適したドライバをダウンロードします。ドライバ ファイルは
mysql-connector-java-8.0.xx-bin.jar
のようになります。 - .jar ファイルを
<installation-directory>/confluence/WEB-INF/lib
ディレクトリにドロップします。 - Confluence を再起動してから、ブラウザで
http://localhost:<port>
を開き、セットアップ プロセスを続行します。
6. データベースの詳細を入力する
Confluence セットアップ ウィザードを利用して、お使いのデータベースに Confluence を接続できます。
JDBC 接続を使用する (既定)
データベースへの接続には JDBC の使用を推奨します。
Confluence セットアップ ウィザードは 2 つのセットアップ オプションを提供します。
- シンプル - 最も簡単にデータベースに接続する方法です。
- 接続文字列を使用 - 追加パラメーターを指定する必要があり、データベース URL の作成に慣れている場合は、このオプションを使用します。
セットアップ タイプに応じて、次の情報を求めるプロンプトが表示されます。
セットアップ タイプ | フィールド | 説明 |
---|---|---|
simple | ホスト名 | データベース サーバーのホスト名または IP アドレス。 |
simple | ポート | MySQL ポートです。MySQL をインストールした際にポートを変更していなければ、既定の 3306 になります。 |
simple | データベース名 | Confluence データベースの名前 (上記の例では confluence )。 |
接続文字列を使用 | データベース URL | データベース URL は次の形式で入力されます。 例: |
両方 | ユーザ名 | 専用データベース ユーザーのユーザー名 (上記の例では confluenceuser )。 |
両方 | パスワード | 専用データベース ユーザーのパスワードです。 |
JNDI データソースを使用する
JNDI データソースを使用したい場合、Confluence をセットアップする前に必要な手順を「データソース接続の設定」で確認してください。セットアップ ウィザードは Tomcat 構成内のデータソースを検出した場合にのみ、データソースを使用するオプションのみを提供します。
7. データベース接続のテスト
データベースのセットアップ画面で [テスト接続] ボタンをクリックすると、次の点をチェックできます。
- Confluence データベースがご利用のデータベース サーバーに接続できること
- データベースの文字エンコーディング、照合順序、分離レベルとストレージ エンジンが適切であること
- データベース ユーザーがデータベースに対する適切な権限を持っていること
テストが成功したら、[次へ] をクリックして Confluence のセットアップ プロセスを続行します。
データベースとドライバのアップグレード
MySQL をアップグレードした場合、Confluence がデータベースへの接続に使用するデータベース ドライバのアップグレードが必要になる場合があります。データベース JDBC ドライバ ページで推奨されるドライバを必ず使用するようにします。
開始する前に、Confluence のインストール ディレクトリと Confluence のホーム ディレクトリのバックアップを作成します。最初にステージング環境で変更をテストすることを強くおすすめします。
データベース ドライバをアップグレードするには、次の手順を実行します。
- Confluence を停止します。
- <installation-directory>/confluence/WEB-INF/lib/ に移動し、既存のドライバを削除します。これは
mysql-connector-java-x.x.xx-bin.jar
のようになります。 - 新しいドライバの .jarファイルを
<installation-directory>/confluence/WEB-INF/lib
ディレクトリにドロップします。 - MySQL サーバーをアップグレードします。
- Confluence を再起動します。
データソース接続を使用している場合、データソースのドライバ クラス名の更新も必要となる場合があります。
トラブルシューティング
- MySQL 8.0.29 以降で Confluence を実行する際に、MySQL の UTF8 エイリアスの変更が原因の既知の問題があります。現在修正中ですが、Confluence 7.3 以降では文字セットと照合を UTF8MB4 に変更することでこの問題を回避できます。「MySQL データベースの照合と文字セットを手動で修正する方法」をご参照ください。
- MySQL 5.7 には既知の課題があり、ダッシュボードの一部を読み込むのに非常に長い時間がかかる場合があります。ご利用のデータベース構成で、「派生マージ」オプティマイザーのスイッチをオフにする必要がある場合があります。回避策の詳細については、CONFSERVER-54984 - Getting issue details... (課題情報を取得中...)STATUS をご参照ください。
Confluence がクラスファイルを欠いていると訴えた場合は、JDBC ドライバーを誤ったフォルダに配置した可能性があります。
次のエラー メッセージが表示された場合は、
localhost
から接続する際に必要となる全てのデータベース権限をconfluenceuser
ユーザーに付与したかどうかを確認します。Could not successfully test your database: : Server connection failure during transaction. Due to underlying exception: 'java.sql.SQLException: Access denied for user 'confluenceuser'@'localhost' (using password: YES)'
次のページでは、MySQL データベースを Confluence のためにセットアップする際に発生する一般的な問題を扱っています:MySQL のデータベースのトラブルシューティング