Mongodb 备份和恢复

一丶mongodump-备份

注意:

mongodump备份格式bson(二进制格式的json),需要使用bsondump进行查看
mongodump使用多线程备份,如果当前数据库可用连接数较低,可能会出现备份失败
如果没有指定备份目录,会在本地生成一个叫dump的目录
相关参数如下:

-h(--host)
    数据库地址,可以写为192.168.70.130:27017
--port
    数据库端口
--username
    用户名
--password
    用户密码
-d(db)
    数据库名
-c(collection)
    集合名
--query
    根据条件导出文档时使用,json格式
--out
    备份目录
--gzip
    对每个集合进行压缩
--archive
    对备份的目录进行打包,最后只有一个文件,不能跟out参数一起使用
--oplog
    备份dump开始到dump结束这中间产生的oplog
--authenticationDatabase
    认证db,默认是admin
1.备份全库

./mongodump -h 192.168.70.130:27017 --out=/opt/mongo/bak

2.备份单个集合

./mongodump -h 192.168.70.130:27017 -d db1 -c col1 --out=/opt/mongo/bak

3.全库备份+压缩+归档+oplog

./mongodump --host 192.168.70.130:27017 --oplog --gzip --archive=bak.tar

4.根据条件备份数据

./mongodump -h 192.168.70.130:27017 -d db1 -c col1 -q '{"created_on":{$gte:Date(1399737600000)}}' --out=/opt/mongo/bak

5.单独备份oplog

./mongodump -h 192.168.70.130:27017 -d local -c oplog.rs--out=/opt/mongo/bak

二丶mongorestore-恢复

注意:

如果恢复数据里有数据,请使用drop参数,先删再插
相关参数如下:

-h(--host)
    数据库地址,可以写为192.168.70.130:27017
--port
    数据库端口
--username
    用户名
--password
    用户密码
--gzip
    备份是否使用gzip压缩
--archive
    备份是否使用归档
--drop
    如果恢复时数据库有数据是否先删除在插入
--nsInclude
    指定还原的集合,支持通配符
--nsExclude
    指定不还原的集合,支持通配符
--nsFrom
    修改集合名词,原来集合的名称,支持使用变量
--nsTo
    修改集合名词,修改之后集合的名称,支持使用变量
--oplogReplay
    是否应用oplog
--oplogLimit
    指定时间戳,之前的数据都执行,格式:1472547691:1
1.全量恢复

./mongorestore -h 192.168.70.130:27017 /opt/mongo/bak

2.全量恢复+压缩+归档

./mongorestore -h 192.168.70.130:27017 --gzip --archive=bak.tar

3.应用备份的oplog

./mongorestore --host 192.168.70.130:27018 --oplogReplay myoplog/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值