54

私はosxでmongo2.2.2を実行しています。

私が行うと、次の認証がうまくいきます:

$ mongo
>> use admin
>> db.auth("uname", "password")

ログ:

Thu Mar  7 13:51:08 [initandlisten] connection accepted from 127.0.0.1:63474 #10 (4 connections now open)
Thu Mar  7 13:51:08 [conn10]  authenticate db: admin { authenticate: 1, nonce: "123", user: "uname", key: "456" }

ただし、コマンドラインから直接認証しようとすると、次のようになります。

$ mongo admin -u uname -p password

次のエラーが発生します。

Thu Mar  7 14:25:52 [initandlisten] connection accepted from 127.0.0.1:63939 #12 (5 connections now open)
Thu Mar  7 14:25:52 [conn12]  authenticate db: admin { authenticate: 1, nonce: "789", user: "uname", key: "147" }
Thu Mar  7 14:25:52 [conn12] auth: key mismatch uname, ns:admin
Thu Mar  7 14:25:52 [conn12] end connection 127.0.0.1:63939 (4 connections now open)

誰かがこれを引き起こす原因を知っていますか?

4

5 に答える 5

49

を使用して、--authenticationDatabase作成したユーザーを見つける場所をmongodbに示す必要があります。例えば:

mongo admin -u uname -p 'password' --authenticationDatabase admin
于 2016-04-04T10:49:55.467 に答える
0

次のように、mongo 接続 URL を使用して接続することもできます。

mongo "mongodb://<user>:<password>@<host: 127.0.0.1>:<port: 27017>/<db_name>?authSource=admin"
  • db_name はオプションです。
  • localhost に接続している場合、ホストは通常​​ 127.0.0.1 です。
  • ポートは通常 27017 です。
于 2022-01-11T12:59:45.720 に答える