mongodb备份还原指南

news2024/12/30 2:47:42

在这里插入图片描述

MongoDB 提供的命令行实用程序mongodumpmongorestore创建备份和恢复数据的过程。

一、数据备份

mongorestoremongodump实用程序可处理BSON数据转储,对于创建小型部署的备份非常有用。要实现弹性且无中断的备份,请将文件系统快照或区块级磁盘快照与 MongoDB Atlas 的云备份结合使用。

性能影响

由于mongodumpmongorestore是通过与正在运行的mongod实例交互来进行操作的,因此它们可能会影响正在运行的数据库的性能。这些工具不仅会为正在运行的数据库实例创建流量,还会强制数据库通过内存读取所有数据。当 MongoDB 读取不常使用的数据时,它可能会逐出更频繁访问的数据,从而导致数据库常规工作负载的性能下降。

排除 local 数据库

mongodump会在其输出中排除local数据库的内容。

local数据库:用于存储诊断信息、复制集配置和操作日志等数据,其中的集合不会被复制

基本 mongodump 操作
mongodump`实用程序通过连接到正在运行的`mongod来备份数据。

该工具可以为整个服务器、数据库或集合创建备份,也可以结合查询来仅备份一个集合的某一部分。

备份命令
export local_tar_dir="/opt/mongodb/upload_backup/"
export dump_name="backup-mongo{{ now_date |replace('-', '')}}"#显示日期
mongodump \
-h {{ ansible_default_ipv4.address }} \
-u{{ mongo_user }} -p{{ mongo_password }} \
--authenticationDatabase admin \
-o {{ local_tar_dir }}/{{ dump_name }} \
--gzip
#-o: 指定输出目录

#打成压缩包后进行上传到对象存储
备份命令其他参数

要限制数据库转储中包含的数据量,可以指定--db--collection作为mongodump的选项。例如:

mongodump --collection=myCollection --db=test

二、集群还原

适用于整个集群不可用或者误删除了部分数据无法找回的情况

下载备份到指定目录
#obs华为云
sudo /usr/local/bin/obsutil ls obs://jws2-live-cn-backup-01/db-db-mongodb/2024-03-28/05/ -s | grep "_master"
sudo /usr/local/bin/obsutil cp {{ first_tarball }} /tmp/

#gcp谷歌云
/bin/gsutil ls gs://{{cloud_backup_bucket}}/db-mongodb/{{now_date}}/{{now_hour}}/
/bin/gsutil  cp  {{ backup_file.stdout }}   /tmp/
基本 mongorestore 操作

mongorestore实用程序可恢复mongodump创建的二进制备份。默认情况下, mongorestore会在dump/目录中查找数据库备份。

mongorestore实用程序通过直接连接到正在运行的mongod来恢复数据。

mongorestore 可以恢复整个数据库备份或部分的备份。

可以考虑使用mongorestore --drop选项从数据库中删除每个集合,然后再从备份恢复。

如果恢复到强制执行访问控制的实例,请同时包括--username--authenticationDatabase

还原前准备

需要保证副本集正常运行,所有游戏服都停止,不会有客户端对mongodb进行写操作。

登录mongodb副本集

#登录mongodb副本集
mongo mongodb://root:mgwh7B8H9w5dc8j0@10.156.0.4:27017,10.156.0.5:27017,10.156.0.6:27017,/admin?replicaSet=jws2-test

查找主节点

rs.status()
#副本集配置成功后,172.16.60.205为主节点PRIMARY,172.16.60.206/207为副本节点SECONDARY。
health:1   1表明状态是正常,0表明异常
state:1     值小的是primary节点、值大的是secondary节点
#"stateStr" : "PRIMARY",        (代表为主节点)
还原命令

副本集还原和单节点命令相同,需要注意一点,要保证-h参数指定的主机为副本集的主节点

以下为对单个库进行还原,可以按照自己的需求进行还原操作。

mongorestore \
-h 172.16.185.222:27011 \
-p mgwh7B8H9w5dc8j0 -u root1 \
--authenticationDatabase=admin  \
--db=SilenceDB  --drop --gzip \
/home/jms_ops_all/backup-mongo20240507/SilenceDB/

三、单节点还原

适用于单机点不可用,但是集群可用的情况。

向副本集添加成员

MongoDB 提供了两个用于恢复副本集从节点成员的选项:

  • 手动将数据库文件复制到每个数据目录。
  • 允许初始同步以自动分发数据。
具体步骤

停止数据异常的成员节点

sudo supervisorctl stop mongodb

清理数据异常的成员节点的数据目录

mv ./mongodata ./mongodata_bak
mkdir ./mongodata

情况一:数据量不大,直接启动即可,初始同步会将数据从主成员复制到新成员。

sudo supervisorctl start mongodb

情况二:数据量大,

将主成员的数据目录复制到新的辅助成员,再启动即可。

链接

官网:https://www.mongodb.com/zh-cn/docs/v5.0/tutorial/restore-replica-set-from-backup/

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

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

相关文章

Ubuntu20.04调试功能包的一些报错解决办法【更新中2024.05.14】

一、Could not find a package configuration file provided by “catkin_virtualenv” 解决办法: sudo apt install ros-noetic-catkin-virtualenv二、 ERROR: Could not find a version that satisfies the requirement pip-tools5.1.2 (from versions: none) …

优选算法——双指针2

题目一——有效三角形的个数 思路 先审题 举个例子,下面一个序列可分成4个三元组 然后我们论证哪个可以组成三角形即可 判断三个数能不能组成三角形:任意两边之和大于第三边 注意第一个和第四个,有人说,这不是两个相同的吗&#…

数据结构与算法学习笔记十---链队列的表示和实现(C语言)

目录 前言 1.什么是链队 2.链队的表示和实现 1.定义 2.初始化 3.销毁 4.清空 5.空队列 6.队列长度 7.获取队头 8.入队 9.出队 10.遍历队列 11.完整代码 前言 本篇博客介绍链栈队列的表示和实现。 1.什么是链队 链队是采用链式存储结构实现的队列。通常链队使用单…

AcWing166. 数独-DFS剪枝与优化

题目 思路 思考问题:搜索顺序->考虑剪枝搜索顺序:先随意选择一个空格子,枚举该格子可填写的数字,当所有格子都填完的时候,说明可以退出了剪枝: 优化搜索顺序:随意选择一个空格子&#xff1a…

83.网络游戏逆向分析与漏洞攻防-移动系统分析-游戏瞬移漏洞的测试与分析

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

JSON格式化输出到页面上——数组+对象+JSON字符串+汉字——基础积累

实现功能&#xff1a;将接口返回的内容格式化后展示到页面上。 对象数组——效果图 对象——效果图 汉字——效果图 直接上代码&#xff1a; 解决步骤1&#xff1a;html代码 <div><div class"contentWrp" style"margin-top: 10px"><div …

vue 文本中的\n 、<br>换行显示

一、背景&#xff1a; 后端接口返回数据以\n 作为换行符&#xff0c;前端显示时候需要换行显示&#xff1b; demo&#xff1a; <p style"white-space: pre-wrap;">{{ info }}</p>data() {return {info: 1、优化图片\n 2、 优化时间\n}},项目上&#…

企业内部文化社区究竟有哪些好处?

首先&#xff0c;我们来了解下&#xff0c;企业内耗是什么? 在企业文化管理中&#xff0c;内耗是一个常见的问题&#xff0c;它会影响企业的团队协作、执行效率和绩效表现。在2023《哈佛商业评论》中国年会上&#xff0c;北大汇丰商学院管理实践教授陈玮分享了他对组织管理的…

vue下载文件,获取header头文件名乱码,下载文件名有下划线的解决

后台以数据流将文件返回&#xff0c;将文件名放在header头里&#xff0c;是中文名&#xff0c;有乱码&#xff0c;如图 访问网络使用的是axios&#xff0c;在 // 响应拦截器 service.interceptors.response.use((res) > {........ if (res.config.responseType blob) {//文…

第十六篇:数据库性能优化:从基础到高级的全面指南

数据库性能优化&#xff1a;从基础到高级的全面指南 1. 引言 在数字化的浪潮中&#xff0c;数据库作为信息系统的核心组件&#xff0c;其性能的优劣直接关系到企业的运营效率和市场竞争力。数据库性能优化不仅是一项技术挑战&#xff0c;更是一项战略任务。它要求我们深入理解…

数据结构(栈):中缀表达式转后缀表达式题型的快速图解法(求栈中操作符等)

2024/5/14&#xff1a; 学编译原理的时候接触到了递归树的画法&#xff0c;中缀转后缀的解题过程和编译原理中的递归树有异曲同工之妙。今日解题的时候想了一下图解法&#xff0c;遂记录&#xff0c;本质上是对递归树的改进。 图解原理概述 以表达式 ab*(c-d)e 为例&#xff0c…

Redis一主二从三哨兵配置

一.安装Redis&#xff08;三台主机&#xff09; 1.下载redis安装程序 访问https://redis.io/download/ 进行对应系统和版本的下载&#xff0c;以下以redis的7.0.5为例安装 2.安装redis mkdir -p /data/soft #创建软件安装程序的存放目录 cd /data/soft #进入目录&#xff0…

【35分钟掌握金融风控策略27】贷中风控策略与客户运营体系

目录 贷中风控策略与客户运营体系 贷中风控日标 贷中风控数据源 贷中风控策略与客户运营体系 贷中是风控的第二道防线&#xff0c;贷中阶段风控的重点工作就是存量客户风控及运营。在当下&#xff0c;新客市场趋于饱和且获客成本越来越高&#xff0c;所以&#xff0c;在做好…

webpack5基础和配置

初步体验webpack打包 webpack是一个静态资源打包工具。 它会以一个或多个文件作为打包的入口&#xff0c;将我们整个项目所有文件编译组合成一个或多个文件输出出去。 输出的文件就是编译好的文件&#xff0c;就可以在浏览器段运行了。 1.初始化最简单的一个目录文件&#xff…

SSM整合-前后端分离-实现增删改查 (下)

主流框架SSM 实现功能03-添加家居信息需求分析/图解思路分析代码实现注意事项和细节 实现功能04-显示家居信息需求分析/图解思路分析代码实现 实现功能05-修改家居信息需求分析/图解思路分析代码实现注意事项和细节 实现功能06-删除家居信息需求分析/图解思路分析代码实现课后作…

智慧安防监控EasyCVR视频汇聚管理平台视频播放花屏的原因分析及处理

智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、…

解决ubuntu 暂时不能解析域名“cn.archive.ubuntu.com”问题

问题描述 E: 无法下载 http://security.ubuntu.com/ubuntu/pool/main/c/curl/curl_7.68.0-1ubuntu2.22_amd64.deb 暂时不能解析域名“cn.archive.ubuntu.com” 解决方法 sudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo servi…

探讨 cs2019 c++ 的STL 库中的模板 conjunction 与 disjunction

&#xff08;1&#xff09;在 STL 库源码中这俩模板经常出现&#xff0c;用来给源码编译中的条件选择&#xff0c;模板的版本选择等提供依据。先给出其定义&#xff1a; 以及&#xff1a; 可以得出结论&#xff1a; conj 是为了查找逻辑布尔型模板参数中的第一个 false &#x…

2024CKE中国婴童展

举办地点&#xff1a;上海新国际博览中心 举办时间&#xff1a;2024年10月16-18日 同期展会&#xff1a;CTE中国玩具展、CPE中国幼教展、CLE中国授权展 展会规模&#xff1a;230,000平米 展商数量&#xff1a;2,500 参展品牌&#xff1a;5,212 …

hadoop大数据的一些知识点--Map reduce编程

实验4 MapReduce编程(2) 本实验的知识地图如图4-1所示&#xff08; 表示重点 表示难点&#xff09;。 图4-1 实验4MapReduce编程(2)知识地图 一、实验目的 1. 理解YARN体系架构。 2. 熟练掌握YARN Web UI界面的使用。 3. 掌握YARN Shell常用命令的使用。 4. 了解YARN编程之…