1

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

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

我尝试的是通过使用连接到 mongo

mongo "IP"

然后我尝试使用数据库副本

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

但这并没有奏效......即使我在复制之前验证自己的身份时也会出错......任何建议任何人如何最简单地做到这一点?

提前致谢

4

2 回答 2

0

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

于 2012-11-20T17:59:16.930 回答
0

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

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

我认为您不需要放置 localhost 因为它们在同一台服务器上

于 2012-11-20T18:13:48.560 回答