《Linux运维实战:使用mongodump和mongorestore备份与恢复Mongodb数据》

一、备份与恢复方案

mongodump是MongoDB官方提供的备份工具,它可以从MongoDB数据库读取数据,并生成BSON文件,mongodump适合用于备份和恢复数据量较小的MongoDB数据库, 不适用于大数据量备份

默认情况下mongodump不获取local数据库里面的内容。mongodump仅备份数据库中的文档,不备份索引,所以我们还原后,需要重新生成索引。 mongodump备份过程中会对mongod服务的性能产生影响,我们建议在业务低峰期进行操作。如果我们备份的数据,大于系统内存,我们备份的时候容易出现错误。

查阅:Mongodb原生导入导出工具对比


二、备份与恢复参数

2.1、mongodump参数详解

说明:这里主要介绍mongodump常用参数。
在这里插入图片描述


2.2、mongorestore参数详解

说明:这里主要介绍mongorestore常用参数。
在这里插入图片描述


三、备份与恢复操作

3.1、环境信息

主机IP操作系统软件版本
192.168.1.191Centos7.6Mongodb3.2.22

3.2、备份操作

说明:当前环境的mongodb服务是采用容器部署的,这里的/data/backup是指容器中的备份目录,备份文件会存放在这个目录下,你也可以将容器中的/data/backup目录映射为当前宿主机上的某一目录。


1、备份全库

[root@localhost ~]# docker exec mongo-single bash -c 'mongodump --host 127.0.0.1:27017 -ulolaage -p123456 -d possecu -o /data/backup --gzip'

2、备份某集合

[root@localhost ~]# docker exec mongo-single bash -c 'mongodump --host 127.0.0.1:27017 -ulolaage -p123456 -d possecu -o /data/backup -c PersonLogin --gzip'

说明:

--host:指定ip和端口
-u:用户
-p:密码
-c: 指定集合名称
-d:指定备份的库名
-o: 备份输出到哪个目录
--gzip:从压缩文件中进行恢复
--drop:恢复数据之前删除原来数据库数据,避免数据重复

如下图所示:
在这里插入图片描述


3.2、恢复操作

1、恢复全库

[root@localhost ~]# docker exec mongo-single bash -c 'mongorestore --host 127.0.0.1:27017 -ulolaage -p123456 -d possecu --dir /data/backup/possecu --gzip --drop ' 

2、恢复某集合

[root@localhost mongo]# docker exec mongo-single bash -c 'mongorestore --host 127.0.0.1:27017 -ulolaage -p123456 -d possecu -c PersonLogin /data/backup/possecu/PersonLogin.bson.gz --gzip --drop ' 

说明:

--host:指定ip和端口
-u:用户
-p:密码
-d:指定恢复的库名
--dir: 指定恢复目录
--gzip:压缩备份文件

如下图所示:
在这里插入图片描述


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Linux运维实战总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值