【发布时间】:2013-10-14 05:47:05
【问题描述】:
我们最近将一些数据移植到了 MongoDB,现在正在考虑运行每日备份,最好是从 cron 作业,并将其中一个备份恢复到辅助 mongo 数据库。
我们的系统设置如下:
- 服务器 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
我收到以下消息:
10 月 7 日星期一 10:03:42 为副本集 127.0.0.1 启动新的副本集监视器,开发种子:27017
10 月 7 日星期一 10:03:42 成功连接到种子开发:27017 副本集 127.0.0.1
10 月 7 日星期一 10:03:42 警告:节点:开发:27017 不是集合的一部分:127.0.0.1 ismaster:{ ismaster:true,maxBsonObjectSize:16777216,ok:1.0 }
10 月 7 日星期一 10:03:44 副本集 127.0.0.1 的副本集监视器启动,地址为 127.0.0.1/
10 月 7 日星期一 10:03:44 [ReplicaSetMonitorWatcher] 开始无法连接到 [127.0.0.1/development:27017] connect failed to set 127.0.0.1/development:27017
我确认可以使用mongo -u -p ip/development连接到mongo数据库
我们的最终目标是从生产数据库中转储数据并将其存储在临时数据库中。这两个数据库都位于同一个盒子上,如果这有区别的话,但出于测试目的,我只是想获取开发测试数据的备份。
【问题讨论】:
-
试试把
--host 127.0.0.1/development换成--host 127.0.0.1 -d development,或许能解决你的问题。 -
确实如此,当我使用
mongo -u -p连接时,我只是在主机之后添加数据库。显然这不是处理它的适当方法,至少对于 mongodump 而言。转储与该更改完美配合
标签: mongodb database-dump