我们最近将一些数据迁移到了MongoDB,现在正在考虑每天从cron作业运行备份,并将其中一个备份恢复到辅助Mongo数据库。
我们的系统设置如下:
服务器1:开发Mongo数据库。 服务器2:两个Mongo数据库,一个用于暂存数据,另一个用于生产。 服务器3:我们从中运行所有cron作业/批处理脚本的地方。
我查看了Mongo文档,并登录到我们的cron作业服务器并尝试运行以下命令:(出于安全考虑已更改用户名、主机和密码,我实际上没有连接到localhost)
我收到了以下信息:
Mon Oct 7 10:03:42为127.0.0.1的副本集监视器启动,种子为development:27017
Mon Oct 7 10:03:42成功连接到127.0.0.1的种子开发:27017,用于副本集
Mon Oct 7 10:03:42警告:节点development:27017不是集合的一部分:127.0.0.1 ismaster: {ismaster:true, maxBsonObjectSize:16777216, ok:1.0}
Mon Oct 7 10:03:44副本集127.0.0.1的监视器已启动,地址为127.0.0.1/
Mon Oct 7 10:03:44 [ReplicaSetMonitorWatcher]开始,无法连接到[127.0.0.1/development:27017]连接失败,设置为127.0.0.1/development:27017
我确认可以使用
我们的最终目标是从生产数据库中转储数据并将其存储在staging数据库中。这两个数据库都位于同一台机器上,如果有区别,但出于测试目的,我只是尝试获取开发测试数据的备份。
我们的系统设置如下:
服务器1:开发Mongo数据库。 服务器2:两个Mongo数据库,一个用于暂存数据,另一个用于生产。 服务器3:我们从中运行所有cron作业/批处理脚本的地方。
我查看了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为127.0.0.1的副本集监视器启动,种子为development:27017
Mon Oct 7 10:03:42成功连接到127.0.0.1的种子开发:27017,用于副本集
Mon Oct 7 10:03:42警告:节点development:27017不是集合的一部分:127.0.0.1 ismaster: {ismaster:true, maxBsonObjectSize:16777216, ok:1.0}
Mon Oct 7 10:03:44副本集127.0.0.1的监视器已启动,地址为127.0.0.1/
Mon Oct 7 10:03:44 [ReplicaSetMonitorWatcher]开始,无法连接到[127.0.0.1/development:27017]连接失败,设置为127.0.0.1/development:27017
我确认可以使用
mongo -u -p ip/development
连接到mongo数据库。我们的最终目标是从生产数据库中转储数据并将其存储在staging数据库中。这两个数据库都位于同一台机器上,如果有区别,但出于测试目的,我只是尝试获取开发测试数据的备份。
--host 127.0.0.1/development
替换为--host 127.0.0.1 -d development
,这可能会解决你的问题。 - Leonid Beschastnymongo -u -p
连接时,我只是在主机后面添加了数据库名称。显然,这不是处理它的适当方式,至少对于 mongodump 来说是这样。有了这个更改,转储工作得非常完美。 - awestover89