すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:mongoシェルのログオンの問題をトラブルシューティングするにはどうすればよいですか?

最終更新日:Jun 21, 2024

DMSまたはmongoシェルを使用して、ApsaraDB for MongoDBコンソールにログインできます。 このトピックでは、mongo シェルを使用して ApsaraDB for MongoDB にログインする際に発生する一般的な問題と解決方法を説明します。

connection attempt failed というメッセージが表示される

問題:

#mongo -- hos t ali12345678.mongodb.rds.aliyuncs.com:3717 -- authenticationDatabase admin -u test -p xxx
MongoDBシェルバージョン: 3.2.3
DBプレフィックス:
接続先: 10.1.2.8:3717 /管理者
2016-05-31T15:25:58.940 0800 Wネットワーク10.*.*.8: 5000ミリ秒後に3717、あきらめました。
2016-05-31T15:25:58.943 0800 Eクエリエラー: サーバー10に接続できませんでした。* 。8:3717 (10.1.2.8) 、接続試行に失敗しました
    at connect (src/mongo/shell/mongo.js:181:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:181
例外: 接続に失敗しました 

考えられる原因

解決策

mongo shellコマンドを実行するElastic Compute Service (ECS) インスタンスとApsaraDB for MongoDBインスタンスは、同じ仮想プライベートクラウド (VPC) にないか、ネットワークタイプが異なります。

  • ECSインスタンスとApsaraDB for MongoDBインスタンスが同じVPCにない場合は、ApsaraDB for MongoDBインスタンスのネットワークタイプをクラシックネットワークに切り替えてから、VPCに切り替えます。

    説明

    ApsaraDB for MongoDBインスタンスのネットワークタイプをVPCに戻す場合は、ApsaraDB for MongoDBインスタンスのECSインスタンスのVPCを選択します。

  • ECSインスタンスとApsaraDB for MongoDBインスタンスのネットワークタイプが異なる場合は、対応する操作を実行します。 詳細については、「ネットワークタイプが異なる場合のApsaraDB For MongoDBインスタンスへのECSインスタンスの接続」をご参照ください。

補足的なトラブルシューティング方法: telne t dds-ali123456789.mongodb.rds.aliyuncs.com 3717などのTelnetコマンドを実行して、ApsaraDB for MongoDBインスタンスにアクセスできるかどうかを確認できます。

Test the portこの図は、URLを解決でき、ポート3717が期待どおりに機能することを示しています。

Authentication failed というメッセージが表示される

問題:

#mongo -- hos t ali12345678.mongodb.rds.aliyuncs.com:3717 -- authenticationDatabase admin -u test -p xxx
MongoDBシェルバージョン: 3.2.3
接続先: 10.1.2.8:3717 /テスト
2016-05-31T15:50:18.623 0800 Eクエリエラー: 18認証に失敗しました。
    at DB._authOrThrow (src/mongo/shell/db.js:1271:32)
    at (auth):6:8
    at (auth):7:2 at src/mongo/shell/db.js:1271
例外: ログインに失敗しました 

考えられる原因

解決策

データベースへのログインに使用したユーザー名が正しくありません。

正しいユーザー名でデータベースにログインします。

データベースへのログインに使用したパスワードが正しくありません。

正しいパスワードでデータベースにログインします。

ログインユーザーが認証データベースと一致しません。

ユーザーを认证データベースと照合します。 たとえば、rootユーザーはadminデータベースのユーザーであるため、このユーザーをデータベースのログインに使用する場合は、認証データベースをadminとして割り当てる必要があります。

クライアントのバージョンが古くなっています。

mongoシェルのバージョンが3.0以降であることを確認してください。 mongo シェルのインストール方法の詳細については、「MongoDB のインストール」をご参照ください。 他のプログラミング言語のクライアントのバージョン要件については、『ドライバー互換性』をご参照ください。

isMaster コマンドを実行するとネットワークエラーが発生する

問題:

#mongo -- hos t ali12345678.mongodb.rds.aliyuncs.com:3717 -- authenticationDatabase test -u test -p xxxxxx
MongoDBシェルバージョンv3.4.10
接続先: mongod b:ali1234567878.mongodb.rds.aliyuncs.com:3717 /
2018-12-18T14:26:11.946 + 0800 E QUERY [thread1] エラー: ホスト 'ft12345678 .mongodb.rds.aliyuncs.comでコマンド 'isMaster' を実行しようとしたときのネットワークエラー: 3717 ':
connect @ src/mongo/shell/mongo.js:237:13
@ (接続):1:6
例外: 接続に失敗しました 

考えられる原因

解決策

ECSインスタンスのIPアドレスがApsaraDB for MongoDBインスタンスのホワイトリストに含まれていません。

ECSインスタンスのIPアドレスをApsaraDB for MongoDBインスタンスのホワイトリストに追加します。 詳細については、「ApsaraDB For MongoDBインスタンスのホワイトリストまたはECSセキュリティグループの設定」をご参照ください。

Timeout while receiving message というメッセージが表示される

org.springframework.data.mo ngodb.UncategorizedMongoDbException: メッセージの受信中のタイムアウト。ネストされた例外はcom.mo ngodbです。MongoSocketReadTimeoutException: メッセージの受信中のタイムアウト

考えられる原因

解決策

異常な低速クエリがインスタンスリソースを占有し、CPU使用率が急増またはピークに達する原因となります。

スロークエリを確認してください。 インデックスを作成して最適化することを推奨します。 詳細については、「」をご参照ください。ApsaraDB for MongoDBの高CPU使用率のトラブルシューティング方法を教えてください。.

タイムアウト設定など、アプリケーション接続プールの設定が正しくありません。

詳細については、「」をご参照ください。接続数をクエリして制限するにはどうすればよいですか?

一般的な接続シナリオ