【MongoDB实战】数据备份与恢复(部分迁移)

news2024/10/4 14:28:31

场景:

需求:

解决方案:

步骤:

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:【客户环境】进入mongodb容器,并恢复


场景:

  • 【系统】生产环境: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/769472.html

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

相关文章

FPGA+x86构建高性能国产网络测试仪竞技之道

众所周知,以太网已经深入我们的生活无处不在,企业、校园、大数据中心和家庭等都离不开网络,否则我们的生活将受到严重的影响。 以太网的接口速率也是迅速发展:10M、100M、GE、10GE、40GE、100GE,到目前逐步成熟的2.5G…

数据结构与算法——静态链表及其创建(C语言实现)

《顺序表和链表优缺点》里面,我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素。 静态链表,也…

【雕爷学编程】Arduino动手做(22)——8X8 LED点阵MAX7219屏7

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这…

Java开发中使用sql简化开发

引语: 在Java开发中,我们更希望数据库能直接给我们必要的数据,然后在业务层面直接进行使用,所以写一个简单的sql语句有助于提高Java开发效率,本文由简单到复杂的小白吸收,还请多多指教。 使用MySQL数据库…

GO 语言GC

目录 写屏障 读屏障 GO语言GC准备 堆内存结构: GC内存分配: GC触发: P的作用: 写屏障 实现强弱三色不式,为了避免误删,则实现写屏障. 写屏障是在写操作中插入指令,目的是把数据对象的修改通知到GC GO语言支持两种写屏障 读屏障 非移动垃圾回收(例如 三色)天…

详解c++---智能指针

目录标题 为什么会有智能指针智能指针模拟实现库中的智能指针auto_ptrunique_ptrshared_ptr 智能指针的线程安全问题循环智能指针weak_ptr定制删除器定制删除器的实现 为什么会有智能指针 根据前面的知识我们知道使用异常可能会导致部分资源没有被正常释放,因为异常…

Jupyter入门使用教程

1 Jupyter Notebook与Jupyter Lab简介 Jupyter Notebook是一个开源的Web应用,在深度学习领域非常活跃。用户可以在这里创建和分享可执行代码、可视化结构和注释说明的文档。 Jupyter Notebook以网页的形式展现,用户可以在此网页中直接编辑代码、运行程…

语法怎么学 | 7-非谓语动词

为什么要学非谓语动词 太常见了,非谓语动词可以做句子中,除了谓语的任何成分 是一个非常重要课题,弄懂了这个,就相当于弄懂了语法的90%,特别是语法题 怎样学习 我在小破站上查了不少教程,大多数都很好&…

三种视频字幕提取工具让你更好地阅读和学习

视频字幕提取技术是指通过计算机算法自动从视频中提取出字幕文本的技术。这项技术能够大大提高视频的可用性,使得聋哑人士、语言学习者以及听力不佳的观众可以更好地理解视频内容。那么你知道视频字幕提取工具免费有哪些吗?接下来我将分享三款我亲测好用…

CSDN铁粉是什么?看完这篇你也可以获得忠实铁粉!(详细总结)

🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言💬 什么是铁粉🎬 为什么存在铁粉⁉️ 为什么我的铁粉那么少 &#x1…

Spring【AOP】

AOP-面向切面编程 AOP&#xff1a;面向切面编程&#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 SpringAop中&#xff0c;通过Advice定义横切逻辑&#xff0c;并支持5种类型的Advice&#xff1a; 导入依赖 <dependency><groupId>…

Linux基础服务11——LNMP架构

文章目录 一、环境说明二、安装nginx三、安装mysql四、安装php五、配置nginx六、配置php七、验证 一、环境说明 主机服务192.168.161.129nginx192.168.161.131mysql192.168.161.132php 二、安装nginx 1.参考文章&#xff0c;nginx部署。 三、安装mysql 1.参考文章&#x…

隐私计算大会亮点前瞻:“隐私计算互联互通标准及第二批实践示范征集项目”解读预告

7月26日&#xff0c;2023隐私计算大会将于青岛正式扬帆&#xff0c;本次大会将齐聚业内专家大咖共论行业最新进展&#xff0c;洞察未来发展趋势&#xff0c;共同推进隐私计算行业蓬勃发展。本次大会将公开正式发布解读《隐私计算应用研究报告&#xff08;2023&#xff09;》、“…

QT6之QtWidgets和QWidget

1、概念 如上图&#xff1a; QtWidgets是模块&#xff0c;它不是类。它与Qt core模块等是同级别的模块&#xff0c;它提供了一系列类的来创建界面相关。QWidget是类&#xff0c;它不是模块。它是所有用户界面对象的基类&#xff0c;QWidget 及其子类是开发桌面应用的核心&…

隐私计算大会亮点前瞻:《隐私计算应用研究报告(2023年)》发布预告

7月26日&#xff0c;2023隐私计算大会将于青岛正式扬帆&#xff0c;本次大会将齐聚业内专家大咖共论行业最新进展&#xff0c;洞察未来发展趋势&#xff0c;共同推进隐私计算行业蓬勃发展。 本次大会将公开正式发布《隐私计算应用研究报告&#xff08;2023&#xff09;》、“隐…

IDEA 安装完成无法打开排查插件问题

以前我自己遇到IDEA&#xff08;19.3&#xff09;突然打不开了、所以写过一篇IDEA无法正常启动&#xff08;打不开&报错&#xff09;_idea启动报错_DJyzh的博客-CSDN博客版权声明&#xff1a;转载请附上文章地址https://blog.csdn.net/qq_42672839IDEA无法正常启动 今天在清…

演讲实录:以 AI 变革组织运营与管理

7月14日&#xff0c;以“释放数智生产力”为主题的 Kyligence 用户大会在上海前滩香格里拉大酒店成功举行。大会现场发布了 Kyligence 最新产品家族&#xff1a;AI 数智助理——Kyligence Copilot 的预览版、一站式指标平台 Kyligence Zen 的 Cloud 和 Enterprise 版本&#xf…

0基础学习VR全景平台篇 第66篇:VR直播-如何管理VR直播活动

一、电脑端管理 已创建好的VR直播活动可以在【管理后台】-【作品管理】-【VR直播】列表下查看到。 1、点击活动标题可以直接进入电脑端的播放页面&#xff0c;点击“编辑”按钮可以进入活动的设置界面。 2、电脑端播放页 该链接地址是可以自适应电脑端和手机端的&#xff0c…

C国演义 [第十二章]

第十二章 打家劫舍题目理解步骤dp数组递推公式初始化遍历顺序 代码 打家劫舍II题目理解步骤递推公式初始化遍历顺序 代码 打家劫舍 力扣链接 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋…

微服务Day2——Nacos注册中心入门

Nacos注册中心 1、Nacos简介 国内公司一般都推崇阿里巴巴的技术&#xff0c;比如注册中心&#xff0c;SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 2、Mac安装 进入Nacos官网下载安装包 http://nacos.io/zh-cn/ Github仓库地址 下载解压后进入nacos/bin目录下 …