[解決済み] MongoDB 3.2 の認証に失敗しました
2022-03-09 23:15:59
質問
以下のコマンドでユーザーを作成します。この場合、ユーザは
admin
dbとターゲットdb(
c2d
):
# mongo 127.0.0.1:27017
MongoDB shell version: 3.2.6-29-g5c19788
connecting to: 127.0.0.1:27017/test
> use admin
switched to db admin
> show collections
system.users
system.version
> db.system.users.find()
> db.createUser({user:"cd2", pwd:"cd2", roles:[{role:"dbOwner", db: "c2d"}]})
Successfully added user: {
"user" : "cd2",
"roles" : [
{
"role" : "dbOwner",
"db" : "c2d"
}
]
}
> db.system.users.find()
{ "_id" : "admin.cd2", "user" : "cd2", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "4g6t9kC+godz7k6QQOfD+A==", "storedKey" : "m3tDZBQDU2Tlb1lIjLGyTHmr2QQ=", "serverKey" : "GSA4OXSod1s8mBuZBtfmXq2tlTo=" } }, "roles" : [ { "role" : "dbOwner", "db" : "c2d" } ] }
> use c2d
switched to db c2d
> db.createUser({user:"cd2", pwd:"cd2", roles:[{role:"dbOwner", db: "c2d"}]})
Successfully added user: {
"user" : "cd2",
"roles" : [
{
"role" : "dbOwner",
"db" : "c2d"
}
]
}
> use admin
switched to db admin
> db.system.users.find()
{ "_id" : "admin.cd2", "user" : "cd2", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "4g6t9kC+godz7k6QQOfD+A==", "storedKey" : "m3tDZBQDU2Tlb1lIjLGyTHmr2QQ=", "serverKey" : "GSA4OXSod1s8mBuZBtfmXq2tlTo=" } }, "roles" : [ { "role" : "dbOwner", "db" : "c2d" } ] }
{ "_id" : "c2d.cd2", "user" : "cd2", "db" : "c2d", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "vnMjnjfykVQS8ujQXeWaYw==", "storedKey" : "OYXivkmIwuTavlwTGfjrspT6j2E=", "serverKey" : "lw8xqzAaW8V4IQ9wOmQrG2VSp88=" } }, "roles" : [ { "role" : "dbOwner", "db" : "c2d" } ] }
ログインしようとすると、エラーメッセージが表示されるのですが。
# mongo 127.0.0.1:27017/c2d -u c2d -p c2d
MongoDB shell version: 3.2.6-29-g5c19788
connecting to: 127.0.0.1:27017/c2d
2016-05-22T10:35:41.862+0100 E QUERY [thread1] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1441:20
@(auth):6:1
@(auth):1:2
exception: login failed
そして、confファイルでセキュリティ機能を有効にして、サーバーを再起動します。
security:
authorization: enabled
エラーは相変わらずです。
# mongo 127.0.0.1:27017/c2d -u c2d -p c2d
MongoDB shell version: 3.2.6-29-g5c19788
connecting to: 127.0.0.1:27017/c2d
2016-05-22T10:37:43.713+0100 E QUERY [thread1] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1441:20
@(auth):6:1
@(auth):1:2
exception: login failed
解決方法は?
さて、ユーザーをうまく作成するためには、いくつかのステップを順番に踏む必要があります。
まず最初に、管理者ユーザーを作成する必要があります。私はスーパーユーザーを作成することをお勧めします。
> use admin
> db.createUser({user: "root", pwd: "123456", roles:["root"]})
MongoDB サーバを再起動し、認証を有効にするために
--auth
フラグを使用します。
> mongod --auth --port 27017 --dbpath /var/lib/mongodb
サーバーが立ち上がったら、管理者としてサーバーに接続します。
> mongo <host:port> -u "root" -p "123456" --authenticationDatabase "admin"
接続できたら、通常のユーザーを作成します。ユーザーデータベース名を
cd2
.
> use cd2
> db.createUser({user: "cd2", pwd: "cd2", roles:["dbOwner"]})
成功のメッセージが表示されたら、mongo シェルから切断し、新しいユーザーで再接続してください。 の認証が必要です。
> mongo <host:port>/cd2 -u "cd2" -p "cd2"
関連
-
[解決済み] MongoDBのデフォルトのユーザーとパスワードは何ですか?
-
[解決済み] mongoDB の文字列フィールドの値の長さ
-
[解決済み] MongoDBでフィールドが存在することを確認する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] コマンドラインからMongoDBデータベースを削除する方法を教えてください。
-
[解決済み] 認証と認可
-
[解決済み】MongoDBで、あるデータベースから別のデータベースにコレクションをコピーする方法
-
[解決済み] MongoDB SELECT COUNT GROUP BY
-
[解決済み】ドキュメントの配列内のオブジェクトを更新する方法(入れ子更新)について)
-
[解決済み】MongoDBをWindowsサービスとして実行するにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Mongodb: ensureIndex をいつ呼び出すか?
-
[解決済み] 同じデータベース内でコレクションをコピーする最も速い方法は何ですか?
-
[解決済み] mongodの書き込みに関するデフォルトの懸念はどのバージョンにありますか?
-
[解決済み] 条件付きでMongoDBを更新する
-
[解決済み] mongodb サービスが開始されない
-
[解決済み】MongoDBで、あるデータベースから別のデータベースにコレクションをコピーする方法
-
[解決済み】ドキュメントの配列内のオブジェクトを更新する方法(入れ子更新)について)
-
[解決済み】MongoDBをWindowsサービスとして実行するにはどうすればいいですか?
-
[解決済み】2つの異なるコレクションで重複したMongo ObjectIdが生成される可能性?
-
[解決済み] MongoDb の 2 つのフィールドを比較するクエリ条件