mongodb的备份与恢复

一.mongodump备份

mongodump主要是用于库和集合的备份,适用于数据量比较小的场景,不适用于大数据量的备份

  • 仅备份数据库中的文档,不备份索引
  • 备份过程会对mongod服务性能产生影响

使用语法:
mongodump <options>

常用参数

参数说明
-h, --host数据库ip地址
–port数据库端口
-u, --username数据库用户
-p, --password用户密码
--authenticationDatabase用户所在库
--authenticationMechanism认证机制
--help帮助信息
--version版本信息
-v, --verbose输出详细日志信息
--quiet安静输出
-d, --db数据库名称
-c, --collection集合名称
-j, --numParallelCollections备份进程数,默认4个
--uri指定mongodb-uri的的登录方式
-q, --query查询条件
--queryFile以文件信息导入查询条件信息
--readPreference=<string>|<json>指定一个首选项名称或首选项json对象
--forceTableScan强制扫描全表
-o, --out输出文件路径
--gzipgzip方式压缩输出文件
--repair修复文档,部分引擎支持
--oplogmongodump将会在执行备份期间的oplog日志输出到文件oplog.bson,即记录备份期间的数据集操作
--archive归档路径
--dumpDbUsersAndRoles备份创建的用户和角色
--excludeCollection指定不备份的集合名称
--viewsAsCollections将视图按照正常集合形式备份

测试

  • 转储成bson和json的备份文件形式
  • bson二进制文件,可以使用mongodb自带命令工具bsondump进行解析
## 备份所有库,即整个实例
./mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 -o /temp/mongodb-2021-12-26

## 备份指定数据库
./mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase=admin -d test -o /temp/mongodb-test

## 备份指定的集合
./mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase=admin -d test -c test -o /temp/mongodb-test.test

## 备份指定条件
./mongodump --host 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase=admin -d test -c user --query='{age:"{$lt:19}"}' -o user

二.mongorestore数据恢复

mongorestore仅仅执行insert操作,不执行update操作。同时mongorestore不恢复system.profile的数据

使用语法:
mongorestore <options> <directory or file to restore>

常用参数

参数说明
-h, --host数据库ip地址
–port数据库端口
-u, --username数据库用户
-p, --password用户密码
--authenticationDatabase用户所在库
--authenticationMechanism认证机制
--help帮助信息
--version版本信息
-v, --verbose输出详细日志信息
--quiet安静输出
-d, --db数据库名称
-c, --collection集合名称
--uri指定mongodb-uri的的登录方式
--excludeCollection指定跳过某个或某些集合不进行恢复
--excludeCollectionsWithPrefix指定跳过一系列符合某些前缀的集合不进行恢复
--nsExclude指定不包含namespaces
--nsInclude指定包含namespaces
--nsFrom 和 --nsTo重命名namespaces,这个两个参数要同时一起使用
--objcheck数据插入前进行校验
--oplogReplay重放oplog进行快照恢复
--oplogLimit限定恢复数据
--oplogFileoplog文件路径
--archive指定归档路径恢复
--restoreDbUsersAndRoles恢复用户和权限
--dir恢复的数据路径
--gzipgzip解压
--drop导入之前先删除集合
--dryRun预执行,并不实际运行,可用于正在操作之前进行检测
--noIndexRestore不恢复索引
--noOptionsRestore不恢复集合
--keepIndexVersion保持索引版本不变
--maintainInsertionOrder保持插入顺序
-j, --numParallelCollections恢复的并发进程数,默认4
--numInsertionWorkersPerCollection每个集合要并发运行的插入操作数,默认1
--stopOnError如果在插入时遇到错误,则停止恢复
--bypassDocumentValidation忽略文档验证
--preserveUUID保留原始集合uuid,默认是关闭

测试

./mongorestore --host 127.0.0.1 --port 27017 -u root -p 123456 /temp/mongodb-2021-12-26/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值