当我尝试从其他计算机克隆我的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:{}
如何解决此问题?
答案 0 :(得分:2)
这个错误看起来很像https://jira.mongodb.org/browse/SERVER-2846,因为 copyDatabase() ... cloneDatabase()使用了......需要管理员权限。在这种情况下,用户正在使用托管的MongoDB实例,他们没有管理员权限。
您可以看到有关如何使用 copyDatabase()命令here和here的更多信息。
因此,例如,如果您使用-auth用户名/密码,则需要运行 copyDatabase()命令,如下所示:
> db.copyDatabase(from_db, to_db, from_host, username, password);
答案 1 :(得分:2)
我能够通过查询replicaSet中的PRIMARY主机而不是SECONDARY来解决此错误。