【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:【客户环境】进入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.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/29086.html

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

相关文章

RPC分布式网络通信框架(二)—— moduo网络解析

文章目录 一、框架通信原理二、框架初始化框架初始化 三、调用端(客户端)调用端框架调用端主程序 四、提供端(服务器)提供端主程序提供端框架NotifyService方法Run方法muduo库的优点网络代码RpcProvider::OnConnection业务代码Rpc…

Nature Neuroscience:慢波、纺锤波和涟波耦合如何协调人类睡眠期间的神经元加工和通信

摘要 学习和可塑性依赖于休息期间神经元回路的微调调节。一个尚未解决的难题是,在没有外部刺激或有意识努力的情况下,睡眠中的大脑如何协调神经元的放电率(FRs)以及神经回路内外的通信,以支持突触和系统巩固。利用颅内脑电图对人类海马体和周…

如何把caj文件改成PDF格式?分享三个免费的方法!

在学术研究中,我们可能会遇到CAJ文件,这是一种在中国学术界广泛使用的文档格式。然而,与PDF文件相比,CAJ文件的查看和分享并不那么便捷。下面,我会为你介绍三种免费且简便的方法,帮助你将CAJ文件转化为PDF格…

使用3DS Max 创建未来派螺栓枪模型

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 步骤 1 创建一个框并将其转换为可编辑多边形(右键单击>转换为:>转换为可编辑多边形),然后使用连接添加一系列边循环,如下图所示。 步骤 2 …

【深度学习笔记】梯度消失与梯度爆炸

本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记,视频由网易云课堂与 deeplearning.ai 联合出品,主讲人是吴恩达 Andrew Ng 教授。感兴趣的网友可以观看网易云课堂的视频进行深入学习,视频的链接如下: 神经网络和…

udx大带宽大延迟网络与xquic bbr, tcp bbr实测比较

quic在其白皮书中声称可以在大延迟大带宽网络中表现良好,为此我对比过目前xq,lsq,pq几种实现,因为这些都是开源项目通过不断的折腾,向这方面研究的同学索取不同版本的实现进行实际测试。 经过,对不同国家的主机,到国内…

Meta分析在生态环境领域里的应用

Meta分析(Meta Analysis)是当今比较流行的综合具有同一主题的多个独立研究的统计学方法,是较高一级逻辑形式上的定量文献综述。20世纪90年代后,Meta分析被引入生态环境领域的研究,并得到高度的重视和长足的发展&#x…

东方通信基于 KubeSphere 的云计算落地经验

作者:周峰 吴昌泰 公司简介 东方通信股份有限公司(以下简称“东方通信”)创立于 1958 年,是一家集硬件设备、软件、服务为一体的整体解决方案提供商。公司于 1996 年成功改制上市,成为上海证交所同时发行 A 股和 B 股…

linux之Ubuntu系列(五)用户管理、查看用户信息 终端命令

创建用户 、删除用户、修改其他用户密码的终端命令都需要通过 sudo 执行 创建用户 设置密码 删除用户 sudo useradd -m -g 组名 新建用户名 添加新用户 -m:自动建立用户 家目录 -g:指定用户所在的组。否则会建立一个和用户同名的组 设置新增用户的密码&…

Vue-Router相关理解4

两个新的生命周期钩子 activated和deactivated是路由组件所独有的两个钩子&#xff0c;用于捕获路由组件的激活状态具体使用 activated路由组件被激活时触发 deactivated路由组件失活时触发 src/pages/News.vue <template><ul><li :style"{opacity}&qu…

自洽性改善语言模型中的思维链推理

自洽性改善语言模型中的思维链推理 摘要介绍对多样化路径的自洽实验实验设置主要结果当CoT影响效率时候&#xff0c;SC会有所帮助与现有方法进行比较附加研究 相关工作总结 原文&#xff1a; 摘要 本篇论文提出了一种新的编码策略——自洽性&#xff0c;来替换思维链中使用的…

对Element DatePicker时间组件的封装,时间组件开始时间和结束时间绑定

背景 我们时常有时间范围选择&#xff0c;需要选择一个开始时间和一个结束时间给后端&#xff0c;但我们给后端的是两个字段&#xff0c; 分别是开始时间和结束时间&#xff0c;现在使用element绑定的值是一个数组&#xff0c;我们还要来回处理&#xff0c;很麻烦列表也的查询…