awe*_*r89 41 mongodb database-dump
我们最近将一些数据移植到MongoDB,现在正在考虑运行每日备份,最好是从cron作业,并将其中一个备份恢复到辅助mongo数据库.
我们的系统设置如下:
有三个服务器:服务器1有开发mongo数据库,服务器2有两个mongo数据库,一个用于登台数据,一个用于生产,第三个服务器是我们运行所有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
Run Code Online (Sandbox Code Playgroud)
我收到以下消息:
星期一10月7日10:03:42开始新副本集监视器副本集127.0.0.1与种子开发:27017
星期一10月7日10:03:42成功连接到种子开发:27017 for replica set 127.0.0.1
Mon Oct 7 10 :03:42警告:节点:开发:27017不是set的一部分:127.0.0.1 ismaster:{ismaster:true,maxBsonObjectSize:16777216,ok:1.0}
Mon Oct 7 10:03:44 replica set monitor for replica设置127.0.0.1开始,地址是127.0.0.1/
星期一10月7日10:03:44 [ReplicaSetMonitorWatcher]启动无法连接到[127.0.0.1/development:27017]连接失败设置127.0.0.1/development:27017
我确认我可以使用连接到mongo数据库 mongo -u -p ip/development
我们的最终目标是从生产数据库转储数据并将其存储在临时数据库中.这两个数据库都位于同一个框中,如果这有所不同,但出于测试目的,我只是试图获得开发测试数据的备份.
Leo*_*tny 58
mongo客户端可以解析MongoDB连接字符串URI,因此不是单独指定所有连接参数,而是可以传递单个连接字符串URI.
在您的情况下,您尝试将连接URI作为a传递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
Run Code Online (Sandbox Code Playgroud)
Yve*_*ves 16
这对我有用.
参考: https://docs.mongodb.com/manual/reference/program/mongodump
语法1:
mongodump --host <hostname:port> --db <database> --username <username> --password <password> --out <path>
Run Code Online (Sandbox Code Playgroud)
语法2:
mongodump -h <hostname:port> -d <database> -u <username> -p <password> -o <path>
Run Code Online (Sandbox Code Playgroud)
例1:
mongodump --host 127.0.0.1:27017 --db db_app --username root --password secret --out /backup/db/app-17-03-07
Run Code Online (Sandbox Code Playgroud)
例2:
mongodump -h 127.0.0.1:27017 -d db_app -u root -p secret -o /backup/db/app-17-03-07
Run Code Online (Sandbox Code Playgroud)
Ume*_*a D 10
您可以将mongodump与 --uri
mongodump --uri "mongodb://usersname:password@127.0.0.1:27100/dbname?replicaSet=replica_name&authSource=admin" --out "C:\Umesh"
Run Code Online (Sandbox Code Playgroud)
您所有的集合将存储在out文件夹中,它将创建目录名称作为您的数据库名称,所有集合均为bson,元数据将存储为json格式。
恢复
mongorestore --uri "mongodb://usersname:password@127.0.0.1:27100/dbname?replicaSet=replica_name&authSource=admin" -d dbname mongodbumppath
Run Code Online (Sandbox Code Playgroud)
试试这个,它将起作用。
| 归档时间: |
|
| 查看次数: |
46902 次 |
| 最近记录: |