Docs Menu
Docs Home
/
MongoDB Compass
/

Compass 接続エラー

項目一覧

  • 提供されたホストおよびポートで MongoDB が実行されていない
  • ドキュメントの挿入ボタンが無効になり、ドキュメントを修正できない
  • クラスター シャードへの接続が閉じました
  • プライマリでもセカンダリでもない場合は書き込み不可
  • 認証の失敗
  • Compass ログの確認
  • 追加リソース

このページのセクションでは、MongoDB Compass に接続するときに発生する一般的なエラーをリストアップし、考えられる解決策を提供します。

Compass が指定されたホストとポートでデータベースに接続する際に、接続が失敗しました。

このエラーは、次の場合に多く発生します。

  • MongoDB Compass 接続ダイアログにホスト名を入力していないか、無効なホスト名を指定した。

  • 正しくないポートで行われた接続を宛先サーバーが拒否した。

  • MongoDB クラスターまたはサーバーがシャットダウンされたか、サーバーのホスト名が変更された。

  • ファイアウォールがローカル ネットワーク間の接続をブロックしている。

この問題の解決方法は、MongoDB 環境の構成方法によって異なる場合があります。考えられる解決策を表示するには、MongoDB 環境に適したタブを選択してください。

セルフホスト型の MongoDB サーバー、レプリカセット、またはクラスターを利用する場合は、これらの解決策をお試しください。

Compass は実行中の MongoDB インスタンスに接続する必要があります。MongoDB がインストールされており、実行中の mongod プロセスがあることを確認してください。また、MongoDB インスタンスが実行されているポートが、Compass 接続ダイアログで指定したポートと一致していることも確認する必要があります。

MongoDB データベースサーバーを最近インストールし、そのサーバーへの初期接続を確立できない場合は、有効な net.bindIp 設定をサーバー構成ファイルで指定していることを確認してください。

セルフホスト型サーバーがnet.bindIp 経由で外部ネットワークをリッスンしている場合は、Compass 接続ダイアログでHostnamePortが正しく指定されていることを確認してください。

MongoDB クラスタやサーバが停止されたか、ホスト名が変更された可能性があります。データベースのステータスの最新情報については、データベース管理者に問い合わせてください。

データベースが動作しているポートへの接続が、ファイアウォールによってブロックされていると思われる場合は、自宅やインターネットカフェのネットワークなど、別の場所から接続してみてください。さまざまなポートへの接続をテストするには、http://portquiz.net/ を参照してください。

Atlas クラスターに接続する場合は、まず Atlas ドキュメントの Compass 経由で接続ページに記載されている手順に従います。この手順を行うと、接続設定が Atlas に最適化されていることを確認できます。

MongoDB クラスタやサーバが停止されたか、ホスト名が変更された可能性があります。データベースのステータスの最新情報については、データベース管理者に問い合わせてください。

データベースへの接続がファイアウォールによってブロックされていると思われる場合は、自宅やインターネットカフェのネットワークなど、別の場所から接続してみてください。

Atlas クラスターはポート 27017 で動作します。クラスターにアクセスするには、このポートにアクセスできる必要があります。ローカル ネットワークがポート 27017 への接続をブロックしているかどうかを確認するには、 http://portquiz.net:27017/ にアクセスしてください。

Atlas は、IP ホワイトリスト プロジェクトにリストされているアドレスからのクラスターへの接続のみを許可します。クラスターに接続できるように、IP アドレスをホワイトリストに登録していることを確認してください。

Compass を使用すると、書き込み操作が実行できず、データの読み取りのみ実行できる状態になる場合があります。

この状態にあるとき:

  • Create Collection ボタンと Insert Document ボタンは無効になります。

  • ドキュメントは変更できません。

この動作には、次の 2 つの原因が考えられます。

  • クラスターのセカンダリ ノードに接続しています。このノードは書き込み操作をサポートしていません。

  • 書込み操作をサポートしていないCompass Readonlyエディションを使用している。

Compass [接続ダイアログ] で、Read PreferencePrimary に設定します。これにより、書込み(write)操作をサポートするクラスターのプライマリ ノードに確実に接続できるようになります。

Replica Set Nameが正確であることを確認してください。Compass は、レプリカセット名が正確な場合にのみ、プライマリを正しく識別できます。

クラスターが Atlas でホストされている場合は、以下の手順を使用して正しいレプリカセット名を取得できます。

  1. Atlas Clusters ビューに移動します。

  2. 希望するクラスターで [Connect] をクリックします。

  3. [Connect with MongoDB Compass] をクリックします。

  4. 指定された接続文字列をコピーします。

  5. MongoDB Compass を開きます。

  6. Yes をクリックすると接続設定が自動入力されます。

Compass Readonlyエディションでは書込み操作を実行できません。最上位の Compass ドロップダウン メニューを開いてAbout MongoDB Compassを選択すると、Compass エディションを確認できます。

書き込み操作を実行するには、MongoDB Compass の別のエディションをダウンロードする必要があります。Compass エディション間の違いの詳細については、Compass エディションの機能を参照してください。

このエラーは、MongoDB クラスターへの接続が初期設定が完了する前に閉じられたことを意味します。

MongoDB Compass に次のようなエラーが表示される場合があります。

connection 3 to cluster0-shard-00-00-a1b2c.mongodb.net:27017 closed

このエラーの最も一般的な原因は、Compass が実行されているパブリック IP アドレスの Atlas IP ホワイトリストにエントリがないことです。

Compass が実行されているパブリック IP アドレスが Atlas プロジェクトの IP ホワイトリストに含まれていることを確認します。

Atlas のホワイトリストを設定するには:

  1. Atlas の左上にあるContextドロップダウンを使用して、目的の Atlas プロジェクトを選択します。

  2. [Security] タブをクリックします。

  3. IP Whitelist」メニュー・オプションをクリックします。

  4. IP アドレスがホワイトリストにない場合は、 Add IP Addressをクリックします。

  5. [Add Current IP Address] をクリックします。

  6. [Confirm] をクリックします。

Atlas は、ホワイトリスト内のどのエントリに現在の IP アドレスが含まれているかを認識し、これらのアドレスに(includes your current IP address)を追加します。

Tip

以下も参照してください。

ホワイトリスト エントリの構成の詳細については、Atlas ドキュメントのホワイトリスト エントリの構成を参照してください。

このエラーメッセージは、正しいレプリカセット名を指定せずにレプリカセットのセカンダリ メンバーの 1 つに接続したため Read Preference のプライマリ メンバーへの接続が必要になったことを示しています。

MongoDB Compass 接続ダイアログで正しいレプリカセット名を指定していることを確認する必要があります。

クラスターが Atlas でホストされている場合は、以下の手順を使用して正しいレプリカセット名を取得できます。

  1. Atlas Clusters ビューに移動します。

  2. 希望するクラスターで [Connect] をクリックします。

  3. [Connect with MongoDB Compass] をクリックします。

  4. 指定された接続文字列をコピーします。

  5. MongoDB Compass を開きます。

  6. Yes をクリックすると接続設定が自動入力されます。

このエラーを解決するもう 1 つの方法は、Compass がセカンダリ クラスター ノードに接続できるようにすることです。接続設定のRead PreferencePrimary PreferredSecondary Preferred に変更します。これにより、このエラーを回避して接続できるようになります。

注意

セカンダリ クラスター ノードに接続する場合、ドキュメント、インデックス、またはデータベースを作成または変更することはできません。書込み操作を実行する必要がない場合にのみ、このソリューションを使用してください。

Tip

以下も参照してください。

読み込み設定(read preference)の詳細については、MongoDB マニュアルの読み込み設定 (read preference)を参照してください。

Compass を使用してクラスターに接続しようとすると、Authentication Failedというエラーメッセージが表示される場合があります。

このエラー メッセージは、多くの場合、次の 5 つの条件のいずれかの結果です。

  • コピーされた接続文字列から接続の詳細を自動入力した後、 Passwordが見つかりません。Compass では、セキュリティ上の予防措置として、接続ダイアログにパスワードを手動で入力する必要があります。

  • UsernamePassword が正しくありません。

  • Atlas クラスターに MongoDB ユーザーを設定していません。

  • 正しい Authentication メソッドを選択しませんでした。

  • 正しい Authentication Databaseが指定されていません。この設定は、authSource 接続文字列 オプションに対応します。

    注意

    Atlas クラスターの場合、Authentication Database は通常admin です。

  • UsernamePassword を正しく入力したことを確認します。

  • 認証する MongoDB ユーザーが存在することを確認します。

  • Authentication Databaseと認証メカニズムを確認します。

  • 選択した認証メカニズムが MongoDB データベースでサポートされていることを確認します。

Compass ログは、接続エラーに関する追加情報を提供できます。問題の診断に役立つ、より詳細なエラーメッセージが見つかる場合があります。詳細については、Compass ログの取得を参照してください。

戻る

ログの検索