2016-08-31 19 views
0
> use failsafereports; 
> db.createUser({ user : 'readonly', pwd: 'readonly', roles : ['read']}) 
Successfully added user: { "user" : "readonly", "roles" : [ "read" ] } 
> show users; 
{ 
    "_id" : "failsafereports.readonly", 
    "user" : "readonly", 
    "db" : "failsafereports", 
    "roles" : [ 
     { 
      "role" : "read", 
      "db" : "failsafereports" 
     } 
    ] 
} 
> db.auth('readonly','readonly') 
Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } 
0 

私は新しいユーザーを作成しています。
私が使用したときに表示されますshow users
しかし、authにしようとすると失敗します。はmongoの新しいユーザーで認証できません

この問題については、コマンドラインからインターネットを介して読んだことがありますが、mongoシェルから発生した問題は見つかりませんでした。

+0

"使用failsafereports" に切り替え、その後、実行してください "db.auth( '読み取り専用'、 '読み取り専用')"。 – notionquest

+0

@notionquest私は - その行を含んでいませんでしたが、私はfailsafereportsデータベースに取り組んでいます。私は質問にそれを追加します。 –

答えて

-1

あなたは1ステップしか欠場しませんでした。新しいmongodbを作成した後、データベースを永続化するためにダミー文書を1つ作成してダミーコレクションを作成する必要があります。それ以外の場合は、mongodbを再起動すると、作成されたデータベースはなくなります。

は、認証の問題を解決するために、次のステップにしてみてください。

  1. スタートが有効に認証なしをのmongod。
  2. 役割
  3. でユーザーを作成するデータベース
  4. を作成する一つの文書
  5. 停止/キルのmongodでダミーのコレクションを作成
  6. 開始は、認証をmongodはステップ1
  7. で作成したデータベースへのスイッチ
  8. を有効に
  9. 手順3で作成したユーザーでデータベースで認証

サンプルコマンド:

  1. のmongod --port 27017 --dbpath /データ/ DB1
  2. 使用failsafereports。
  3. db.createUser({user: 'readonly'、pwd: 'readonly'、roles:['read']})
  4. db.xyz.insert({"name": "nix.education"})
  5. 停止/キルのmongod
  6. のmongod --auth --port 27017 --dbpath /データ/ DB1
  7. 使用failsafereports。
  8. db.auth( '読み取り専用'、 '読み取り専用')
関連する問題