【MongoDB实战】数据备份与恢复

         场景:

需求:

解决方案:

步骤:

Stage 1:【生产环境】修改备份文件映射

 Stage 2:【生产环境】重新构建mongodb

Stage 3:【客户环境】修改备份文件映射,同 Stage 1

Stage 4:【客户环境】重新构建mongodb,同 Stage 2

Stage 5:【生产环境】进入mongodb容器,并备份到/backup中

Stage 6:【生产环境】下载备份 /backup

Stage 7:【客户环境】备份迁移至客户环境 /backup

Stage 8:【客户环境】恢复


场景:

  • 【系统】生产环境:Ubuntu 22
  • 【mongo】生产环境:docker 中安装 mongodb
  • 【数据库】: xph
  • 【集合个数】:1万个+
  • 【系统】客户环境:windows server 2020 
  • 【mongo】客户环境:docker 中安装 mongodb
  • 【数据库】: xph

需求:

        将生产上33个集合数据迁移到客户环境中

解决方案:

  • 备份mongodump
  • 恢复mongorestore

步骤:

Stage 1:【生产环境】修改备份文件映射

  • 作用:映射出备份文件,方便后面下载到客户服务器上
  • ./backup:/backup  :映射到docker-compose.yaml所在同级backup目录中
  • 这里重新构建mongodb时backup文件夹自动创建

version: '3.1'services:mongo:image: mongo:4.2.1container_name: mongorestart: alwaysports:- 27017:27017volumes:- ./db:/data/db- ./backup:/backup- ./export:/data/exportenvironment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: xxxxxxxxcommand:--wiredTigerCacheSizeGB 30deploy:resources:limits:memory: 30Greservations:memory: 5G
networks:default:external:name: xph-network

 Stage 2:【生产环境】重新构建mongodb

  • docker-compose --compatibility up -d --build
  • 或 docker-compose up -d --build

Stage 3:【客户环境】修改备份文件映射,同 Stage 1

  • E:\docker\mongodb\backup

Stage 4:【客户环境】重新构建mongodb,同 Stage 2

  • docker-compose --compatibility up -d --build
  • 或 docker-compose up -d --build

Stage 5:【生产环境】进入mongodb容器,并备份到/backup

  • docker exec -it mongo /bin/bash
  • 备份指令如下(33个集合)
mongodump --username root --password "xxx" --collection 16068044 --db xph --out /backup
mongodump --username root --password "xxx" --collection 16068045 --db xph --out /backup
.
.
.

Stage 6:【生产环境】下载备份 /backup

Stage 7:【客户环境】备份迁移至客户环境 /backup

  • 迁移至客户该目录下:E:\docker\mongodb\backup

Stage 8:【客户环境】进入mongodb容器,并恢复

  • docker exec -it mongo /bin/bash
  • 输入如下指令恢复
mongorestore --authenticationDatabase admin --username root --password "xxx" --dir=/backup/
  •  恢复中

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 如何发布并部署到服务器

一般情况npm run build即可 从而生成vue代码直接放到服务器即可 这里的具体情况要看package.json里面的配置从而使用命令 会生成dist就是该项目的发布包

【Android Framework系列】第7章 WMS原理

1 前言 前面【Android Framework系列】第5章 AMS启动流程和【Android Framework系列】第6章 AMS原理之Launcer启动流程我们分析了AMS启动以及Launcher启动的整体流程,那Launcher(Activity启动)后,UI是如何渲染到屏幕并且展示出来的呢?我们这…

2023/07/14 UML图/流程图/泳道图是什么

UML图 UML图中的几种图简介(时序图,协作图,状态图,活动图,对象图) 泳道图 适合做这种效果,体现角色关系 流程图 定义 绘制要素 开始/结束:用一个椭圆标识,代表流畅的开…

pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类 # 导入pytorch 和 torchvision import numpy as np import torch import torchvision from torch.autograd import Variable import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as …

DP4057替代TP4057 500mA双灯指示防反接锂电充电管理IC

DP4057 是一款完整的单节锂离子电池充电器,带电池正负极反接保护,采用恒定电流/恒定电压线性控制。其 SOT26封装与较少的外部元件数目使得 DP4057 成为便携式应用的理想选择。DP4057可以适合 USB电源和适配器电源工作。由于采用了内部PMOSFET架构&#x…

微信公众号登录

整个流程,1.前端调用授权url 接口(创建一个重定向的请求方法,访问自动回调方法wechat.mp.callbackUrl的地址)。2.微信自动回调方法里判断该用户是需要注册还是直接登录(如果直接登录就返回token) 是注册还是登录返回到配置文件中的 wechat.mp…

Hadoop第一课之环境配置

1.配置一个模板机 要求:IP DNS地址页 网址 防火墙 安装包 1.ip ifconfig 查询 先用虚拟机看一下自己的网关 vim search/provides 命令 查找 # 修改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 如果提示找不到vim命令,使用yum下载v…

【布局优化】基于遗传算法的车间布局优化 车间设施布局优化【Matlab代码#50】

文章目录 【获取资源请见文章第5节:资源获取】1. 车间布局优化2. 基于GA的布局优化模型3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节:资源获取】 1. 车间布局优化 车间设施布置的规划一直是工业工程领域不断研究和探索的内容&am…

朴素贝叶斯与贝叶斯网络详解

文章目录 一、背景1.1 贝叶斯方法的提出1.2 频率派与贝叶斯派的区别 二、分类问题三、基础知识3.1 条件概率3.2 联合概率3.3 贝叶斯公式4.1 贝叶斯网络介绍4.2 贝叶斯网络的基本结构4.2.1 head-to-head(共同作用)4.2.2 tail-to-tail(共同原因…

学习AJAX

AJAX 🚀 HTTP请求报文响应报文 🚄 express框架🚬 express基本使用 🚒 原生AJAX🚬 GET.HTML🚬 POST.HTML🚬 JSON.HTML🚬 nodemon工具可以帮助重启服务🚬 IE缓存问题&#…

订单系统、报名、预约、表单系统 定制开发功能展示

安装教程环境说明:正常情况下PHP5.3-5.6、阿帕奇、mysql安装即可 安装说明: 1、上传源码压缩包到网站根目录(这个请去问下空间商哪个是根目录,每家服务器商不一样,我们也不能确定,请确定是根目录再安装&am…

【C++初阶】类和对象(上)

文章目录 前言一、类的引入二、类的定义三、类的访问限定符及封装四、类的作用域五、类的实例化六、类对象模型七、this指针 前言 📖面向过程 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。以…