mongodb的
备份与
恢复
一.mongodump备份
mongodump主要是用于库和集合的备份,适用于数据量比较小的场景,不适用于大数据量的备份
- 仅备份数据库中的文档,不备份索引
- 备份过程会对mongod服务性能产生影响
使用语法:
mongodump
常用参数
参数 | 说明 |
---|
-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=|指定一个首选项名称或首选项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
常用参数
参数 | 说明 |
---|
-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/
评论列表(0条)