文章目录
一丶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/