Mongodb возвращает unauthorized в copydatabase

Я зарегистрирован с пользователем, который имеет readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin, но все еще не может скопировать базу данных. Я могу получать и создавать коллекции в обеих базах по отдельности.

> use admin
> db.auth('user', 'password')
> db.copyDatabase('database1', 'database2')
{ "ok" : 0, "errmsg" : "unauthorized" }

Версия Mongodb - 2.4.5

Ответ 1

В настоящий момент это не будет работать.

В источнике есть примечание: https://github.com/mongodb/mongo/blob/master/src/mongo/db/cloner.cpp строка 704 "Примечание: не работает с включенной аутентификацией, кроме как пользователи старого стиля".

Ответ 2

вам нужна регистрация в админ-базе данных для административных запросов, а ее пользовательские привилегии в базе данных администратора