MongoDB: ошибка клонирования базы данных?

#mongodb

#mongodb

Вопрос:

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

  db.cloneDatabase('10.10.124.110')
{ "errmsg" : "query failed staging.system.namespaces", "ok" : 0 }
  

и на сервере я вижу

 Thu Nov 10 11:29:01 [conn10] assertion 10057 unauthorized db:staging lock type:-1 client:10.10.124.110 ns:staging.system.namespaces query:{}
  

Как я могу решить эту проблему?

Ответ №1:

Эта ошибка очень похожа на эту https://jira.mongodb.org/browse/SERVER-2846 где выдается ошибка из-за copyDatabase() … который использует cloneDatabase() … требуются права администратора. В этом случае пользователь использует размещенный экземпляр MongoDB, где у него не было прав администратора.

Вы можете увидеть еще немного о том, как использовать команду copyDatabase() здесь и здесь.

Так, например, если вы используете -auth для имени пользователя / пароля, вам нужно будет запустить copyDatabase() команду следующим образом:

 > db.copyDatabase(from_db, to_db, from_host, username, password);
  

Ответ №2:

Я смог просто устранить эту ошибку, запросив ОСНОВНОЙ хост в наборе реплик, а не ВТОРИЧНЫЙ.