Jira サーバーの起動中のデータベース コネクション エラーを解決する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

インストール、アップグレード、または起動中に、Jira では大量のチェックが実行されます。データベース コネクションのチェックは、Jira がデータベースに接続できることを確認します。データベース接続は Jira の実行に必須であるためです。

原因

このチェックに失敗する理由には次のものがあります。

  • 実行中のデータベースがない
  • dbconfig.xml の構成に誤りがある
  • データベース用のユーザー名/パスワードに誤りがある
  • データベース ユーザーに、データベースに接続するための適切な権限が割り当てられていない
  • 指定されたデータベースが Jira データベースではない
  • 誤ったポートを利用しようとしている
  • Jira によるデータベース接続を妨げる、次のような一般的なネットワーク問題
    • Postgres/MySQL のローカル ホストのエラー
    • ファイアウォールのエラー
    • ネットワーク コネクションがない/オフラインである

影響

Jira インスタンスの実行にはデータベースが必要です。データベースがないと、過去に作成された課題を読み取ったり、新しく作成された課題を格納したりすることができなくなります。

ソリューション

さまざまな原因が考えられるため、この問題を解決するには複数の観点を確認する必要がある場合があります。

(info) These steps do not apply when using the embedded H2 database. If you have issues with the embedded H2 database, you can refer to the following article to verify access to it: Access the H2 embedded database

ネットワークの問題

ネットワークが正常に動作していて、Jira インスタンスからデータベースに到達可能であることを確認します。

データベース サーバーへの ping

データベース サーバーへの ping は行なえますか? dbconfig.xml に記載されたデータベース URL を取得して、データベースを ping してみてください。

ping 123.456.789.012

修正: データベースの実行状態の確認

データベースに ping できない場合、データベースが実行されていない可能性があります。指定されたアドレスでデータベースが実行されていて、それに到達可能であることをご確認ください。実現方法についてはご利用のデータベースの情報をご利用ください。

データベース コネクションに必要なポートの確認

成功する場合、データベースで接続しようとしているポートが到達可能であることを確認します。

nmap 123.456.789.012


必要なポートはオープンになっていますか?


次のようになっているかもしれません (Postgres の例)


❯ nmap 123.456.789.012
Starting Nmap 7.40 ( https://nmap.org ) at 1970-01-01 0:00 AEDT
Nmap scan report for 123.456.789.012
Host is up (0.00083s latency).
Not shown: 498 closed ports, 498 filtered ports
PORT STATE SERVICE
5432/tcp open postgresql
Nmap done: 1 IP address (1 host up) scanned in 13.27 seconds

修正: 外部接続についてデータベースとデータベース設定を確認

これが原因ではない場合、2 つの可能性が考えられます。

  1. ping が成功しているため、宛先のホストは実行されているが、そこでデータベースが実行されていない
  2. データベースで localhost からの接続のみが許可されている。これは、Postgres や MySQL などの複数のデータベース サーバーのデフォルト設定です。外部接続を許可するためのデータベースのセットアップ方法については、個々のデータベースの情報をご確認ください。

ユーザーに適切な権限があるかどうか

データベースの読み取りと書き込みを行うには、dbconfig.xml ファイルで指定されたユーザーに適切な権限が必要です。
dbconfig.xml のユーザーに適切な権限があるかどうかをご利用のデータベースで確認します。

Postgres では次のクエリを実行できます
(このクエリが動作するには、<user><database><host><port>、および <user> を適切な値で置き換える必要があります)

psql -U <user> -d <database> -h <host> -p <port> -c "select * from information_schema.role_table_grants where grantee='<user>';"


大量の出力行が返される場合、問題はありません。
fatal エラーが返される場合、権限に誤りがある可能性があります。

Postgres のエラーの例 (<value> の値は入力内容になります)

- missing user: psql: FATAL: role "<user>" does not exist
- missing database: psql: FATAL: database "<database>" does not exist

修正: 適切な userdatabase のセットアップ

ここでの修正は、データベース タイプに応じて異なります。適切な権限を持つデータベース ユーザーのセットアップ方法については、個々のデータベースの手順をご利用ください。

適切なポートの確認

あらゆるデータベースが特定のデフォルト ポートで実行されます (たとえば Postgres のデフォルト ポートは 5432 です)。
dbconfig.xml で指定されたポートが適切であることを確認します。

コマンドライン経由でデータベース接続を試してみます。Postgres で次のようなエラーが出る場合があります。

psql: could not connect to server: Connection refused
Is the server running on host "<host>" and accepting
TCP/IP connections on port <port>?

修正: ポートの確認

これに該当する場合、ご利用のデータベースでオープンになっているポートを確認することをおすすめします (上記のネットワーク チェックをご確認ください)。
特定のポートでデータベースが開示されているかどうかを確認するには、上記の nmap チェックをお試しください。


説明 インストール、アップグレード、または起動中に、Jira では大量のチェックが実行されます。データベース コネクションのチェックは、Jira がデータベースに接続できることを確認します。データベース接続は Jira の実行に必須であるためです。
製品Jira、Confluence
プラットフォームサーバー、Cloud、Data Center
最終更新日 2022 年 8 月 25 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.