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

news2024/10/6 5:59:58

         场景:

需求:

解决方案:

步骤:

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.1
    container_name: mongo
    restart: always
    ports:
      - 27017:27017
    volumes:
      - ./db:/data/db
      - ./backup:/backup
      - ./export:/data/export
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: xxxxxxxx
    command:
      --wiredTigerCacheSizeGB 30
    deploy:
      resources:
        limits:
          memory: 30G
        reservations:
          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.coloradmin.cn/o/763174.html

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

相关文章

python接口自动化(四十)- logger 日志 - 下(超详解)

简介 按照上一篇的计划,这一篇给小伙伴们讲解一下:(1)多模块使用logging,(2)通过文件配置logging模块,(3)自己封装一个日志(logging)类…

Stable Diffusion配置要求,显卡推荐

Stable Diffusion 是一款流行的人工智能图像生成器,您可以在自己的 PC 上运行。但是运行Stable Diffusion的最低规格是多少,哪些组件最重要? Stable Diffusion需要什么 PC 硬件? Stable Diffusion最关键的一个组件是显卡 (GPU)。…

LaTex 中的Beamer使用

LaTex 中的Beamer使用 Beamer beamer 中通过frame 来控制每一页的内容,其与编写常用的LaTex文稿基本没有区别 titlepage \title[Short Title]{My Presentation} \subtitle{An Introduction to LaTeX Beamer} \author{River Chandler} \institute{Sichuan Universi…

国科大杭州高等研究院

2021年底的我还没决定开始考研 ,过完年才确定开始考研,开学以后才开始学习,此时距离22年底考试时间差不多十个月的样子。 2022年开始正式学习,2 2 408,对于我来说内容挺多挺难的,我英语不太好,以…

懒人自动化生成e2e测试文件:JSON => playwright

前言 本工具实现的是:使用简单的 JSON 配置,生成可执行的 playwright UI 测试文件。 然后通过项目内已经配置好的 playwright 配置实现 UI 测试。 工具工作流程: 期望达到的目的是: ✅ 基础页面(进入页面&#xff0…

加密保SSL超安通配版

今天收到几家公司网络IT经理询问:“要买“加密保SSL超安通配版”问有没有?” 这里特别强调一下! “加密保SSL超安通配版”这不是国产SSL证书,不是国产SSL证书,属于套牌PKI类型非CA机构官方产品! 这是经销…

cuda_11.6.1_510.47.03_linux.run

cuda_11.6.1_510.47.03_linux.run Installing the latest CUDA toolkit cuda_11.6.1_510.47.03_linux.run Download Installer for Linux Ubuntu 20.04 x86_64 cuda_11.6.1_510.47.03_linux.run

【Spring】Spring更简单的读取和存储对象---使用注解

目录 1.Spring的存储对象------存储Bean对象 1.前置工作,配置扫描路径 2.添加注解存储Bean对象 1.Controller(控制器存储) 2.service(服务存储) 3.Repository(仓库存储) 4.Component&…

二叉树展开为链表

给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1&…

CVE-2023-1454注入分析复现

简介 JeecgBoot的代码生成器是一种可以帮助开发者快速构建企业级应用的工具&#xff0c;它可以通过一键生成前后端代码&#xff0c;无需写任何代码&#xff0c;让开发者更多关注业务逻辑。 影响版本 Jeecg-Boot<3.5.1 环境搭建 idea 后端源码&#xff1a; https://git…

【Java SpringBoot Starter】开发一个自己的SpringBoot Starter组件,应该怎么写,需要什么配置

【Java SpringBoot Starter】开发一个自己的SpringBoot Starter组件&#xff0c;应该怎么写&#xff0c;需要什么配置 目录 1. 自定义的Starter&#xff0c;需要的Configuration 类 2. .properties文件的配置&#xff0c;或者yml文件的配置内容&#xff0c;注入bean对象中 …

行业报告 | AI 赋能,人形机器人产业提速,把握产业链受益机会(上)

文 | BFT机器人 01 核心观点 核心观点: 人形机器人产业发展仍处于 0-1 阶段&#xff0c;当前行业投资逻辑偏向事件驱动型的主题投资&#xff0c;但可落地服务场景的人形机器人成长空间非常广阔&#xff0c;值得长期关注。本文将围绕以下热点问题作出讨论: D当前节点人形机器人产…

GPT与人类:人工智能是否能够真正复制人类语言?

人类语言是一种复杂的系统&#xff0c;它不仅包含着无数单词和语法规则&#xff0c;更重要的是具有丰富的含义和上下文。这些语言特征涉及到常识、文化、情感和经验等方面&#xff0c;是人类在长期进化和文明发展中所积累起来的丰富知识和经验的体现。然而&#xff0c;人工智能…

百万级sql server数据库优化案例分享

在我们的IT职业生涯中&#xff0c;能有一次百万级的数据库的优化经历是很难得的&#xff0c;如果你遇到了恭喜你&#xff0c;你的职业生涯将会更加完美&#xff0c;如果你遇到并解决了&#xff0c;那么一定足够你炫耀很多年。 这里我将要分享一次完美的百万级数据库优化经历&am…

高效管理,轻松掌控项目进度

通过Zoho Projects以项目化的方式让企业中的一切任务井井有条&#xff0c;无论是个人事务、团队计划&#xff0c;还是跨部门协同。以下是七个步骤来实现高效的任务协作&#xff0c;使企业中的任务井井有条。 1、安排和跟进任务 通过Zoho Projects项目管理工具轻松创建任务&…

一文了解JNPF低代码开发平台

一、关于低代码 JNPF平台在提供无代码&#xff08;可视化建模&#xff09;和低代码&#xff08;高度可扩展的集成工具以支持跨功能团队协同工作&#xff09;开发工具上是独一无二的。支持简单、快速地构建及不断改进Web端应用程序&#xff0c;可为整个应用程序的生命周期提供全…

matplotlib笔记 sviewgui (鼠标拖拽绘制csv的matplotlib图)

1 先看一下效果 2 导入数据方式 2.1 select选择本地数据 import sviewgui.sview as sv sv.buildGUI()然后会跳出前面的那个GUI界面 2.2 在buildGUI的时候传入数据路径 import sviewgui.sview as sv sv.buildGUI(C:/Users/16000/tip.csv)2.3 参数是DataFrame import sview…

【三维重建】【深度学习】NeuS代码Pytorch实现--训练阶段代码解析(上)

【三维重建】【深度学习】NeuS代码Pytorch实现–训练阶段代码解析(上) 论文提出了一种新颖的神经表面重建方法&#xff0c;称为NeuS&#xff0c;用于从2D图像输入以高保真度重建对象和场景。在NeuS中建议将曲面表示为有符号距离函数(SDF)的零级集&#xff0c;并开发一种新的体绘…

使用wxPython和pillow开发拼图小游戏(一)

刚学习python&#xff0c;心血来潮&#xff0c;使用wxPython和pillow开了一个简单的拼图小游戏&#xff0c;大家分享一下 wxPython是Python语言的一套优秀的GUI图形库&#xff0c;在此项目里主要用来开发GUI客户页面&#xff1b;Pillow是一个非常好用的图像处理库&#xff0c;…

在 3ds Max 中对链模型进行摆放姿势处理

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 建模和“摆姿势”3D链可能看起来是一项繁琐的工作&#xff0c;但实际上可以通过使用阵列工具并将链中的链接视为骨骼来轻松完成。在本教程中&#xff0c;我将向您展示如何对链条进行建模&#xff0c;并通过…