2011-11-10 1 views
3

Lorsque je tente de cloner ma base de données de mongo d'une autre machine, je vois ce qui suit sur le clientMongoDB: erreur de base de données de clonage?

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

et sur le serveur que je vois

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:{} 

Comment puis-je résoudre ce problème?

Répondre

2

Cette erreur semble beaucoup comme celui-ci https://jira.mongodb.org/browse/SERVER-2846 où une erreur est renvoyée parce copyDatabase() ... qui cloneDatabase() utilise ... nécessite des privilèges d'administrateur. Dans ce cas, l'utilisateur utilise une instance MongoDB hébergée dans laquelle il n'a pas de privilèges d'administrateur.

Vous pouvez voir plus sur la façon d'utiliser le copyDatabase() commande here et here.

Ainsi, par exemple, si vous utilisez -auth un nom d'utilisateur/mot de passe, vous devez exécuter le copyDatabase() commande comme ceci:

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

Vous avez 100% raison, merci. – antongorodezkiy

2

j'ai pu résoudre simplement cette erreur interroger l'hôte PRIMARY dans un réplicaSet, plutôt que le SECONDARY.

+0

Cela a résolu un problème similaire que j'avais, merci! – sandstrom

Questions connexes