阿里云数据库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

bash 复制代码
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.tar

tar xvf qpress-11-linux-x64.tar

cp qpress /usr/bin

这下解压完成了

五、还原本地MongoDb数据

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

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

bash 复制代码
systemLog:
    destination: file
    path: e:/mongod.conf
    logAppend: true
security:
    authorization: enabled
storage:
    dbPath: e:/xbdata
    directoryPerDB: true
net:
    port: 27017
    unixDomainSocket:
        enabled: false
processManagement:
    fork: true

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

mongod -f e:\mongod.conf 指定配置文件来启动 各种报错,没法启动了,恢复失败。


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


一、下载逻辑备份文件

二、恢复备份文件

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的版本,直接逻辑恢复成功。

相关推荐
辞旧 lekkk6 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2301_809204708 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy277778 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
笨蛋不要掉眼泪8 小时前
Mysql架构揭秘:update语句的执行流程
数据库·mysql·架构
万邦科技Lafite8 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
秋99 小时前
ruoyi项目更换为mysql9.7.0数据库
数据库
Andya_net9 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
筑梦之路10 小时前
harbor数据库报错权限异常如何处理——筑梦之路
数据库·harbor
czlczl2002092511 小时前
理解 MySQL 行锁:两阶段锁协议与热点更新优化
数据库·mysql
AllData公司负责人11 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql