我们最近将一些数据移植到了 MongoDB,现在正在考虑运行每日备份,最好是从 cron 作业,并将其中一个备份恢复到辅助 mongo 数据库。
我们的系统设置如下:
我检查了 mongo 文档,并登录到我们的 cron 作业服务器并尝试运行以下命令:(为安全起见,更改了用户名、主机和密码,我实际上并没有连接到 localhost)
mongodump --host 127.0.0.1/development --port 27017 --username user --password pass --out /opt/backup/mongodump-2013-10-07-1
我收到以下消息:
Mon Oct 7 10:03:42 starting new replica set monitor for replica set 127.0.0.1 with seed of development:27017
Mon Oct 7 10:03:42 successfully connected to seed development:27017 for replica set 127.0.0.1
Mon Oct 7 10:03:42 warning: node: development:27017 isn't a part of set: 127.0.0.1 ismaster: { ismaster: true, maxBsonObjectSize: 16777216, ok: 1.0 }
Mon Oct 7 10:03:44 replica set monitor for replica set 127.0.0.1 started, address is 127.0.0.1/
Mon Oct 7 10:03:44 [ReplicaSetMonitorWatcher] starting couldn't connect to [127.0.0.1/development:27017] connect failed to set 127.0.0.1/development:27017
我确认我可以使用 mongo -u -p ip/development
我们的最终目标是从生产数据库中转储数据并将其存储在临时数据库中。这两个数据库都位于同一个盒子上,如果这有区别的话,但出于测试目的,我只是想获得开发测试数据的备份。
最佳答案
mongo
客户端可以解析MongoDB connection string URI ,因此您可以传递单个连接字符串 URI,而不是单独指定所有连接参数。
在您的情况下,您尝试将连接 URI 作为 host
传递,但 127.0.0.1/development
不是有效的主机名。这意味着您应该将 database
参数与 host
分开指定:
mongodump --host 127.0.0.1 -d development --port 27017 --username user --password pass --out /opt/backup/mongodump-2013-10-07-1
https://stackoverflow.com/questions/19228474/