2013-07-26 53 views
11

我使用已经读取了写入数据库,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdmin但仍无法复制数据库的用户进行日志记录。我可以单独访问和创建两个数据库中的集合。mongodb在copydatabase上返回未经授权

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

MongoDB的版本是2.4.5

+0

看这里:http://stackoverflow.com/questions/16854898/mongodb-db-copydatabase-fail-on-unauthorized。看起来像是同样的问题 – lexeme

+0

但在那里没有解决方案。如果数据库大小太大,那么为每个集合复制记录会非常慢并且容易出错。通过单一命令在服务器上复制数据库是我们所需要的。 – Rajiv

回答

6

这一个目前不会工作。

来源中有一个注释:在https://github.com/mongodb/mongo/blob/master/src/mongo/db/cloner.cpp行704 “注意:在启用身份验证时不起作用,除了旧式用户。”

+1

正在[SERVER-8213](https://jira.mongodb.org/browse/SERVER-8213)(目前预计为2.6)中跟踪更新此新风格认证。 – jmikola

+0

Thx比我更新我的评论:http://stackoverflow.com/questions/16854898/mongodb-db-copydatabase-fail-on-unauthorized – attish

-1

你在管理数据库需要日志记录管理查询,以及她的用户需要在管理数据库权限

+0

-1非建设性答案。 – vipulsharma

相关问题