2016-09-01 7 views
0

アカウントがmongosから作成される理由は、レプリカインスタンスでは使用できません。
ログ:レプリカシャードクラスタの一員であるmongodb認証インスタンスに接続するには?

[conn165] SCRAM-SHA-1 authentication failed for wuyg on admin from client 127.0.0.1 ; UserNotFound: Could not find user [email protected] 

ユーザーwuygは、これらの役割を持っている:

"roles" : [ { "role" : "clusterAdmin", "db" : "admin" }, { "role" : "dbOwner", "db" : "admin" }, { "role" : "userAdminAnyDatabase", "db" : "admin" } ] 

と私がmongosから接続したとき、私はwuygアカウントを使用することができます。

私のmongodbクラスタには3つの設定インスタンスがあり、1つのシャードは3つのメンバレプリカクラスタです。 バージョン:3.2.8

ありがとうございます。

答えて

1

mongoDBでは、ユーザーはadmin.system.usersコレクションに保存されます。 あなたはコマンドを使用してユーザーを一覧表示することができます

use admin 
db.system.users.find() 

さらにreplicaSetインスタンスが別々のsystem.usersコレクションとそれ自身の管理データベースを持っています。

Mongos(shardedCluster)のconfigサーバに保管されて管理データベースを使用します。

あなたはさらにreplicaSet sおよびmongos別途

にこのユーザを作成するためにあなたが持っている同じユーザーを使用してmongosし、さらにreplicaSetに接続したい場合はところでそれはあなたが1つしかない場合は、単純なさらにreplicaSet構成を使用することをお勧めしますシャード追加の容量が必要な場合は、https://docs.mongodb.com/manual/tutorial/convert-replica-set-to-replicated-shard-cluster/をshardedClusterに変換できます。

+0

ありがとうございました。 ReplicaSetとMongosは異なるアカウントを使用するので、mongosから作成したユーザーはReplicaSetインスタンスでは使用できません。今度はReplicaSetインスタンスをシャットダウンできません... – cswuyg

+0

ReplicaSetのMongoDBインスタンスにはアカウントが必要です。 ; db.system.users.find() " – cswuyg

+1

オプションenableLocalhostAuthBypass:true(https://docs.mongodb.com/manual/reference/parameters/)でmongodインスタンスを再起動できます。このレプリカセットで作成された管理者アカウントがない場合は、パスワードなしでlocalhostから接続することができます – hogan

関連する問題