別の可能性:ユーザーを作成したときに、誤って、または必要なuse
データベース以外のデータベースを使用していた可能性がありますadmin
。--authenticationDatabase
ユーザーが実際に作成されたデータベースに設定する必要があります。
mongodb
test
シェルを開いたときにデフォルトでデータベースに入れられるようですので、誤ってingしたの--authenticationDatabase test
ではなく、書き込む必要があり--authenticationDatabase admin
ますuse
test
あなたが実行したときdb.createUser(...)
。
mongodbインスタンスを実行しているマシンにアクセスできると想定すると、yは認証を無効にし/etc/mongod.conf
(authorization
セキュリティの下にネストされているコメント)、サーバーを再起動して実行できます。
mongo
show users
そして、あなたはこのようなものを得るかもしれません:
{
"_id" : "test.myusername",
"user" : "myusername",
"db" : "test",
"roles" : [
{
"role" : "dbOwner",
"db" : "mydatabasename"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
db
値がに等しいことに注意してくださいtest
。これは、ユーザーを作成したときに、最初にuse admin
またはを実行しなかったためuse desiredDatabaseName
です。したがって、次のようにしてユーザーを削除してdb.dropUser("myusername")
から、目的のデータベースの下に別のユーザーを作成できます。
use desiredDatabaseName
db.createUser(...)
うまくいけば、それはこのようなもので初心者として私の立場にあった誰かを助ける。