如何使用身份验证远程复制mongo数据库?

时间:2012-11-20 17:32:45

标签: mongodb copy remote-server

我正在尝试将远程服务器上的现有mongo数据库“test”复制到同一个远程服务器,但它应该得到一个不同的名称“test2”。 Mongodb在此服务器上受密码保护。

有没有简单的方法可以做到这一点? (我想用此创建一个shell脚本)

我尝试使用

连接到mongo
mongo "IP"

然后我尝试使用db copy

db.copyDatabase( "test", "test2", "localhost", "<username>", "<password>");

但是这没有成功......即使我在复制之前对自己进行身份验证也会出错...任何建议任何人如何做到这一点最简单?

提前致谢

2 个答案:

答案 0 :(得分:0)

我的猜测是使用“localhost”作为主机名会导致您的问题,因为“localhost”与运行shell的计算机与运行mongod的计算机不同。尝试在命令中使用运行db的计算机的主机名或ip而不是“localhost”。

答案 1 :(得分:0)

我会尝试单独运行auth命令。所以像这样:

mongo "IP"
use test
db.auth("<username>", "<password>")
db.copyDatabase("test", "test2")

我认为您不需要将localhost放在同一台服务器上