阿里云数据库MongoDB恢复到本地

共两种方式,建议使用第二种的逻辑恢复,比较方便快捷 


一、下载物理备份文件

下载的格式是xb的,主要跟实例创建时间有关,2019年03月26日之前创建的实例,物理备份文件格式为tar,后面全部都是xb的格式了,xb格式就需要使用 Percona XtraBackup 解压然后在还原.

参考阿里文档: 如何将MongoDB物理备份文件恢复至本地自建数据库_云数据库 MongoDB-阿里云帮助中心

二、下载Percona XtraBackup

目前最新版本是8.0,下载二进制的安装包  Software Downloads - Percona

这个工具只支持linux,所以要上传到linux环境下去操作。

 我们在linux 创建一下目录  /mnt/xtrabackup 并将下载的文件上传上去。

gunzip percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal.tar.gz 解压为.tar

 tar -xvf percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal.tar  在次解压

三、安装 Percona XtraBackup

 mv percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17-minimal /usr/local/xtrabackup  移动位置

 ln -sf /usr/local/xtrabackup/bin/* /usr/bin/   创建软连接

 xtrabackup --version   查看版本

 which xtrabackup  查看位置 

 

 四、解压xb备份文件

 我们将 xb文件放到 /mnt/xbdata目录下,因为解压会把mongodb中的集合都解压成文件了

 

 cat hins100253163_data_20231008010306_qp.xb | xbstream -x -v  解包,比较慢多等会

 

到这里发现不能执行 innobackupex  命令,应该是 Percona XtraBackup 版本问题,这里下载2.4的版本

 重新下载 然后重新在解压加入软连接,然后在执行解压操作。 

 innobackupex --decompress --remove-original /mnt/xbdata   解压物理备份文件

结果报错,需要安装  qpress 

wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0" https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tartar xvf qpress-11-linux-x64.tarcp qpress /usr/bin

 这下解压完成了 

五、还原本地MongoDb数据 

zip -r xbdata.zip xbdata/  将解压的数据压缩为zip文件然后下载到本地

创建一个mongod.conf 文件 ,文件内容如下,将数据和这个配置文件都放在了e:\目录下

systemLog:destination: filepath: e:/mongod.conflogAppend: true
security:authorization: enabled
storage:dbPath: e:/xbdatadirectoryPerDB: true
net:port: 27017unixDomainSocket:enabled: false
processManagement:fork: true

cd "D:\Program Files\MongoDB\Server\4.4\bin>"  进入安装目录 

mongod -f e:\mongod.conf  指定配置文件来启动  各种报错,没法启动了,恢复失败。这种方式可能适用于linux的恢复,只能使用第二种方法。


物理备份文件比较繁琐,下面使用逻辑备份文件,备份文件小还方便 


一、下载逻辑备份文件 

二、恢复备份文件 

 cd "D:\Program Files\MongoDB\Server\4.4\bin>"   进入安装目录因为目录有空格需要双引号

mongorestore -h 127.0.0.1 --port 27017 --drop --gzip --archive=d:\data.ar -vvvv --stopOnError  执行恢复命令(参照阿里的文档 将逻辑备份文件恢复至自建MongoDB数据库中_云数据库 MongoDB-阿里云帮助中心)

 

过程可能慢一些,最后完成的结果,看下面的恢复结果

我阿里是4.2的版本,线下安装的是4.4的版本,直接逻辑恢复成功。 

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

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

相关文章

如何在ubnutu上安装docker

卸载旧版本 sudo apt-get remove docker docker-engine docker.io添加HTTPS传输软件包以及CA证书 sudo apt-get update sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release添加国内源以提升网速 添加软件源的GPG秘钥以确认所下载软件包…

【每日一题】CF1690E. Price Maximization | 双指针 | 简单

题目内容 原题链接 给定长度为 n n n 的数组 a a a 和一个整数 k k k ,保证 n n n 为偶数。 问将 n n n 个数两两配对,得到的值为 ⌊ a i a j k ⌋ \lfloor\frac{a_ia_j}{k}\rfloor ⌊kai​aj​​⌋ 问如何配对使得总和最大,最大值是…

功能基础篇6——系统接口,操作系统与解释器系统

系统 os Python标准库,os模块提供Python与多种操作系统交互的接口 import os import stat# 文件夹 print(os.mkdir(r./dir)) # None 新建单级空文件夹 print(os.rmdir(r./dir)) # None 删除单级空文件夹 print(os.makedirs(r.\dir\dir\dir)) # None 递归创建空…

本地计算机端口显示CLOSE_WAIT、TIME_WAIT、ESTABLISHED、三种情况的区别

本地计算机端口显示 “CLOSE_WAIT”、“TIME_WAIT” 和 “ESTABLISHED” 表示不同的TCP连接状态,它们之间的区别如下: CLOSE_WAIT(关闭等待): 在此状态下,本地计算机已经接收到来自远程计算机的关闭请求&am…

博弈论——动态博弈

动态博弈 0 引言 前面一篇文章介绍了博弈过程中的三个分类:静态博弈、动态博弈、重复博弈。今天具体讲讲动态博弈的处理方法。 博弈论——博弈过程 1 概念 首先还是介绍一下动态博弈的概念,即博弈中各博弈方的选择和行动不仅有先后次序,而…

WPFdatagrid结合comboBox

在WPF的DataGrid中希望结合使用ComboBox下拉框,达到下拉选择绑定的效果,在实现的过程中,遇到了一些奇怪的问题,因此记录下来。 网上能够查询到的解决方案: 总共有三种ItemSource常见绑定实现方式: 1.ItemS…

实现动态表单的一种思路 | 京东云技术团队

一、动态表单是什么 区别于传统表单前后端配合联调的开发实现方式,动态表单通过一种基于元数据管理的配置化方法来实现表单的动态生成,并能根据配置自由增改删指定字段。实现特定需求的自助化。 图1.1 传统表单前后台协作模式 图1.2 动态表单前后台协作…

速通Redis基础(二):掌握Redis的哈希类型和命令

目录 Redis 哈希类型简介 Redis 哈希命令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET HLEN HSETNX ​编辑 HINCRBY HINCRBYFLOAT Redis的哈希类型命令小结 Redis 是一种高性能的键值存储数据库,支持多种数据类型,其中之…

第4章 决策树

文章目录 4.1 基本流程4.2 划分选择4.2.1 信息增益4.2.2 增益率4.2.3 基尼指数 4.3 剪枝处理4.3.1 预剪枝4.3.2 后剪枝 4.4 连续与缺失值4.4.1 连续值处理4.4.2 缺失值处理 4.5 多变量决策树4.6 阅读材料 4.1 基本流程 决策树也称判定树,是一类常见的机器学习方法。…

【小沐学Python】Python实现Web图表功能(Dash)

文章目录 1、简介2、安装3、功能示例3.1 Hello World3.2 连接到数据3.3 可视化数据3.4 控件和回调3.5 设置应用的样式3.5.1 HTML and CSS3.5.2 Dash Design Kit (DDK)3.5.3 Dash Bootstrap Components3.5.4 Dash Mantine Components 4、更多示例4.1 Basic Dashboard4.2 Using C…

MyLife - Docker安装Redis

Docker安装Redis 个人觉得像reids之类的基础设施在线上环境直接物理机安装使用可能会好些。但是在开发测试环境用docker容器还是比较方便的。这里学习下docker安装redis使用。 1. Redis 镜像库地址 Redis 镜像库地址:https://hub.docker.com/_/redis/tags 这里是官方…

用go获取IPv4地址,WLAN的IPv4地址,本机公网IP地址,本机空闲端口详解

文章目录 获取IPv4地址获取WLAN的IPv4地址获取本机公网IP地址获取本机空闲端口 获取IPv4地址 下面的代码会打印出本机所有的IPv4地址。这个方法可能会返回多个IP地址,因为一台机器可能有多个网络接口,每个接口可能有一个或多个IP地址。 package mainim…

GO脚本-模拟鼠标键盘

01GetCoordinate 获取坐标 package mainimport ("github.com/go-vgo/robotgo" )func main() {// 获取当前鼠标所在的位置x, y : robotgo.GetMousePos()println(x:, x, y:, y)}02GetColor 获取坐标颜色 package mainimport ("fmt&quo…

AnyDesk密钥

最近最新的密钥:7K2CV32ER6T8F8I 这款软件应该是目前用的最好的可以免费的软件了,记录一下密钥

flink以增量+全量的方式更新广播状态

背景 flink在实现本地内存和db同步配置表信息时,想要做到类似于增量(保证实时性) 全量(保证和DB数据一致)的效果,那么我们如何通过flink的广播状态外部定时器定时全量同步的方式来实现呢? 实现增量全量的效果 package wikiedits.schedule…

matlab高斯消元法求解线性方程组

高斯消元法的基本原理是通过一系列行变换将线性方程组的增广矩阵转化为简化行阶梯形式,从而得到方程组的解。其核心思想是利用矩阵的行变换操作,逐步消除未知数的系数,使得方程组的求解变得更加简单。 首先,给定系数矩阵A和常数向…

Python实现RNN算法对MFCC特征的简单语音识别

Python实现RNN算法对MFCC特征的简单语音识别 1、实现步骤 借助深度学习库 TensorFlow/Keras 来构建模型 1.对标签进行编码,将文本标签转换为整数标签。 2.对 MFCC 特征数据进行填充或截断,使其长度一致,以便于输入到 RNN 模型中 3.如果是二维数据需要转成三维: Simpl…

Python 图形化界面基础篇:创建自定义主题

Python 图形化界面基础篇:创建自定义主题 引言 Tkinter 库简介步骤1:导入 Tkinter 模块步骤2:创建 Tkinter 窗口步骤3:创建自定义主题步骤4:创建使用自定义主题的部件 完整示例代码代码解释结论 引言 在图形用户界面&…

XPS常见问题与解答-科学指南针

在做X 射线光电子能谱(XPS)测试时,科学指南针检测平台工作人员在与很多同学沟通中了解到,好多同学仅仅是通过文献或者师兄师姐的推荐对XPS测试有了解,但是对于其原理还属于小白阶段,针对此,科学指南针检测平台团队组织…

数据库查找、增加等基本操作

1、查询 SELECT column_name(s) FROM table_name WHERE condition; //如 SELECT * FROM USE database_name.user2; 2、增加 优点是可以将数据添加到表中,而不会影响现有数据。缺点是如果您需要将大量数据添加到表中,这可能会导致性能下降。 INSERT …