2015-05-01 4 views
3

Я создал эти два пользователя в моей базе данных администратора:MongoDB AuthenticationFailed с механизмом MongoDB-CR

db.auth('admin','password') 
1 
> db.getUsers() 
[ 
    { 
     "_id" : "admin.siteUserAdmin", 
     "user" : "siteUserAdmin", 
     "db" : "admin", 
     "roles" : [ 
      { 
       "role" : "userAdminAnyDatabase", 
       "db" : "admin" 
      } 
     ] 
    }, 
    { 
     "_id" : "admin.admin", 
     "user" : "admin", 
     "db" : "admin", 
     "roles" : [ 
      { 
       "role" : "userAdminAnyDatabase", 
       "db" : "admin" 
      } 
     ] 
    } 
] 

Я правильно uthenticated от моего локального хоста, но когда я пытаюсь использовать внешний клиент для подключения к в моей базе данных Я получил (а) эту ошибку:

Failed to authenticate [email protected] with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document 

Как исправить ошибку?

ответ

7

Как было указано here: MongoDB 3 механизм аутентификации был изменен с MongoDB запроса и ответа(MongoDB-CR), чтобывызов и ответ механизм(SCRAM-SHA-1).

Вы должны удалить созданного пользователя, то изменить admin.system.version.authSchema к вместо . Затем воссоздание вашего пользователя должно решить проблему:

var schema = db.system.version.findOne({"_id" : "authSchema"}) 
schema.currentVersion = 3 
db.system.version.save(schema) 

This ссылка может быть полезно тоже.

2

Мой симптом отличается от вышеуказанного вопроса, но я пишу здесь для справки.
Я получаю ошибку аутентификации в локальной среде.
Это происходит для меня, когда я использую пропущенную совпадение между сервером mongodb и клиентом.
Например:

  • Сервер: версия mongod является v3.4.2.
  • Клиент: версия монго 2.6.10.

Когда я обращаюсь к серверу с помощью mongo с действующим пользователем и паролем, он выходит из строя из-за несоответствия версии.

+0

Эй, это действительно ответ. Благодаря! В качестве рекомендации я бы сказал, что вам следует улучшить текст. Просто подсказка :)! – ivanleoncz

Смежные вопросы