《Linux运维实战:MongoDB数据库全量逻辑备份恢复(方案一)》

news2024/11/17 10:05:17

一、备份与恢复方案

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

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

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


二、备份与恢复参数

2.1、mongodump参数详解

说明:这里主要介绍mongodump常用参数。

general options:
      --help                                       输出帮助说明
      --version                                    输出版本号
verbosity options:
  -v, --verbose=<level>                            增加备份过程中日志详细程序,例如 -vvvv 打的日志最多
      --quiet                                      备份过程中不输出日志
connection options:
  -h, --host=<hostname>                            连接地址 (setname/host1,host2 for replica sets)
      --port=<port>                                端口号 可以 --host hostname:port(can also use --host hostname:port)
authentication options:
  -u, --username=<username>                        用户名
  -p, --password=<password>                        密码
      --authenticationDatabase=<database-name>     指定验证库
      --authenticationMechanism=<mechanism>        指定验证机制
namespace options:
  -d, --db=<database-name>                         指定库名
  -c, --collection=<collection-name>               指定集合名称
output options:
  -o, --out=<directory-path>                       备份输出到哪个目录 (defaults to 'dump')
      --gzip                                       压缩备份文件
      --oplog                                      备份oplog完成一致性快照备份
      --archive=<file-path>                        备份成一个归档文件,不能和 -o 参数同时使用
      --dumpDbUsersAndRoles                        备份数据库的用户、角色信息
      --excludeCollection=<collection-name>        过滤掉哪些集合,多个集合,需要使用多个--excludeCollection 参数
  -j, --numParallelCollections=                    并行备份线程个数 (4 by default)

2.2、mongorestore参数详解

说明:这里主要介绍mongorestore常用参数。

general options:
      --help                                      打印帮助信息
      --version                                   打印版本号
verbosity options:
  -v, --verbose=<level>                           增加备份过程中日志详细程序,例如 -vvvv 打的日志最多
      --quiet                                     备份过程中不输出日志
connection options:
  -h, --host=<hostname>                           连接地址 (setname/host1,host2 for replica sets)
      --port=<port>                               端口号 可以 --host hostname:port(can also use --host hostname:port)
authentication options:
  -u, --username=<username>                       用户名
  -p, --password=<password>                       密码
      --authenticationDatabase=<database-name>    指定验证库
      --authenticationMechanism=<mechanism>       指定验证机制
namespace options:
  -d, --db=<database-name>                        如果不指定 -d 参数,会从备份目录中获取库名称,导入单表时可以指定导入具体库
  -c, --collection=<collection-name>              如果不指定 -c 参数,会从备份目录中获取集合名称,导入单表时可以指定导入集合名称
input options:
      --objcheck                                  在插入前检查记录有效性
      --oplogReplay                               恢复数据后,重放oplog
      --oplogLimit=<seconds>[:ordinal]            only include oplog entries before the provided Timestamp
      --archive=<filename>                        从指定文件进行恢复,如果未指定文件,则从标准输入中进行恢复
      --restoreDbUsersAndRoles                    r恢复指定数据库的用户和角色信息
      --dir=<directory-name>                      指定恢复目录
      --gzip                                      从压缩文件中进行恢复
restore options:
      --drop                                      导入集合前先删掉集合,不会删除不会备份中的集合
      --keepIndexVersion                          防止在恢复数据过程中升级索引到最新版本
  -j, --numParallelCollections=                   并行恢复线程数,默认为4 (4 by default)
      --stopOnError                               强制mongostore 在遇到错误时停止还原

三、备份与恢复操作

3.1、环境信息

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

3.2、备份操作

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


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

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

说明:

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

3.2、恢复操作

[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 ' 

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回溯算法(1)组合

文章目录回溯算法理论77. 组合216. 组合总和17. 电话号码的组合回溯算法理论 回溯算法其实就是递归&#xff0c;只不过递归又分为递去和归来&#xff0c;其中归来便就是回溯。 为什么要使用回溯&#xff1f; 有些问题我们通过暴力解法也很难解决&#xff0c;比如说我们接下来…

C语言学习之路(高级篇)—— 变量和内存分布(上)

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 数据类型 1) 数据类型概念 什么是数据类型&#xff1f;为什么需要数据类型? 数据类型是为了更好进行内存的管理&#xff0c;让编译器能确定分配…

04 | 云硬盘的使用方法

前期环境&#xff1a; Ubuntu 0 云硬盘类型 云硬盘类型包括&#xff1a; 高性能云硬盘通用型 SSD 云硬盘SSD 云硬盘增强型 SSD 云硬盘极速型 SSD 云硬盘&#xff0c;仅支持随存储增强型云服务器一同购买&#xff0c;不支持单独购买 1 创建云硬盘 1.1 创建方式 1.1.1 单个…

第二证券|连拉20CM涨停!防疫新概念股火了!恒生科技指数涨逾5%

周四上午&#xff0c;“新十条”发布后&#xff0c;由于A股商场已反弹一段时刻&#xff0c;两市股指今天早盘接连震动走势&#xff0c;港股在地产、科技、消费等板块带动下&#xff0c;体现更为强势。 A股上证指数早盘在3200点附近持续震动&#xff0c;光伏、化肥、物流、港口等…

JavaScript内置对象(内置对象、查文档(MDN)、Math对象、日期对象、数组对象、字符串对象)

目录 JavaScript内置对象 内置对象 查文档 MDN Math对象 Math概述 案例一&#xff1a;封装自己的对象 随机数方法 random() 案例一&#xff1a;猜数字游戏 日期对象 Date 概述 Date()方法的使用 获取日期的总的毫秒形式 案例一&#xff1a;倒计时效果 数组对象 …

DoltLab本地部署实践

目录引言Dolt是什么&#xff1f;如何本地部署使用DoltLab具体安装步骤安装期间FAQ写在最后其他相关资料引言 自从搞深度学习训练模型以来&#xff0c;一直有个问题困扰着我&#xff1a;训练所用数据集的管理。为什么说这是一个问题呢&#xff1f; 在读研时&#xff0c;我们依据…

ELK日志分析系统概述及部署

文章目录一、ELK日志分析系统1、概念2、完整日志系统基本特征3、使用ELK的原因4、ELK 的工作原理二、ELK日志分析系统集群部署的操作步骤环境准备&#xff1a;1、 ELK Elasticsearch 集群部署&#xff08;在Node1、Node2节点上操作&#xff09;1.1、更改主机名、配置域名解析、…

剑指 Offer 53 - I. 在排序数组中查找数字 I

摘要 剑指 Offer 53 - I. 在排序数组中查找数字 I 一、二分查找 1.1 二分查找的分析 由于数组已经排序&#xff0c;因此整个数组是单调递增的&#xff0c;我们可以利用二分法来加速查找的过程。 考虑 target在数组中出现的次数&#xff0c;其实我们要找的就是数组中「第一…

汇编语言ch2_2 汇编语言中的debug

使用debug 可以完成以下功能&#xff1a; 可以查看 和改变 CPU 中&#xff0c;寄存器的内容&#xff1b;可以查看 和改变内存中的内容&#xff1b;可以将内存中的 机器指令 翻译成汇编指令使用汇编指令 在 内存中 存入 机器指令执行机器指令 首先&#xff0c;启动 Debug,在DO…

实现数智内控,数据分析创造价值——辽宁烟草智能风险体检系统

近两年&#xff0c;烟草行业部分单位围绕中心任务&#xff0c;结合实际&#xff0c;守正创新&#xff0c;开展了许多研究探索。比如&#xff0c;在财务大数据价值挖掘、会计共享中心建设、财务风险预警系统建设等方面做了大量卓有成效的工作。在这样的背景下&#xff0c;辽宁烟…

DSPE-MAL 磷脂改性马来酰亚胺简介CAS1360858-99-6

DSPE-MAL二硬脂酰磷脂酰乙醇胺改性马来酰亚胺 中文名称&#xff1a;二硬脂酰磷脂酰乙醇胺改性马来酰亚胺 英文名称&#xff1a;DSPE-MAL CAS&#xff1a;1235864-97-7 分子式&#xff1a;C48H86N2NaO11P 分子量&#xff1a;921.16700 外观&#xff1a;白色粉末 DSPE-MAL二…

2022icpc 济南站 持续补题

链接&#xff1a;Dashboard - 2022 International Collegiate Programming Contest, Jinan Site - Codeforces 签到题&#xff1a;k K. Stack Sort You are given a permutation with nn numbers, a1,a2,…,an(1≤ai≤n,ai≠aj when i≠j). You want to sort these numbers …

WY易盾cb、fp逆向分析

内容仅供参考学习 欢迎朋友们V一起交流&#xff1a; zcxl7_7 目标 网址&#xff1a;案例地址 这个好像还没改版&#xff0c;我看官网体验那边已经进行了混淆 分析 这个进行的请求很乱&#xff0c;我就不说怎么找的了&#xff0c;到时候越听越乱。一共有2个请求很重要 …

笔试题之编写SQL按要求查询用户阅读行为数据

紧张源于恐惧&#xff0c;恐惧源于未知。 文章目录前言一、SQL题目二、当时作答结果三、复盘&#xff08;一&#xff09;建表并自定义插入数据&#xff08;二&#xff09;正确解答&#xff08;三&#xff09;答错原因分析总结前言 分享本人一次失败的笔试经历&#xff0c;供各…

plink中的BGEN格式的数据如何用

这里&#xff0c;介绍一下BGEN格式的数据&#xff0c;他的文件格式是这样的&#xff1a;a.bgen&#xff0c;这是一个新的数据格式&#xff0c;目前应用不如plink的二进制文件&#xff1a;.bim,.bed,.fam。这里介绍一下如何相互转换。 1. bgen格式介绍 现代遗传关联研究通常使…

[附源码]计算机毕业设计JAVA中小企业人事管理系统

[附源码]计算机毕业设计JAVA中小企业人事管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

HMS Core 6.8.0版本发布公告

分析服务 ◆ 游戏行业新增“区服分析”埋点模板及分析报告&#xff0c;支持开发者分服务器查看用户付费、留存等指标&#xff0c;可进一步评估不同服务器的玩家质量&#xff1b; ◆ 新增营销活动报告&#xff0c;可查看广告任务带来的曝光、点击相关信息&#xff0c;让营销推…

阿里P7晒工资条,看完真的扎心了……

前几天&#xff0c;有位老粉私信我&#xff0c;说看到某95后学弟晒出阿里P7的工资单&#xff0c;他是真酸了…想狠补下技术&#xff0c;努力冲一把大厂。 为了帮到他&#xff0c;也为了大家能在最短的时间内做面试复习&#xff0c;我把软件测试面试系列都汇总在这一篇文章了。…

关于信息系统监理师考试怎么备考?

信息系统监理师是属于软考的中级科目&#xff0c;是水平考试&#xff0c;取得证书后就具备了任职中级职称的资格&#xff0c;并可以注册为信息系统监理师&#xff0c;进行信息系统监理工程师的执业工作。 注册监理工程师&#xff0c;是指经考试取得中华人民共和国监理工程师资…

041-推箱子游戏1

上一讲:040-JAVA集合及GUI综合应用(实现简单的订单管理系统)_CSDN专家-赖老师(软件之家)的博客-CSDN博客 下一讲:推箱子游戏源代码 摘要: 1、使用JAVA基础知识 2、GUI界面编程实现推箱子界面,常用控件的综合应用; 3、使用JAVA绘图技术实现推箱子过程的绘图功能;…