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

    1. 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
    2. tar xvf qpress-11-linux-x64.tar
    3. cp qpress /usr/bin

     这下解压完成了 

    五、还原本地MongoDb数据 

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

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

    1. systemLog:
    2. destination: file
    3. path: e:/mongod.conf
    4. logAppend: true
    5. security:
    6. authorization: enabled
    7. storage:
    8. dbPath: e:/xbdata
    9. directoryPerDB: true
    10. net:
    11. port: 27017
    12. unixDomainSocket:
    13. enabled: false
    14. processManagement:
    15. 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的版本,直接逻辑恢复成功。 

  • 相关阅读:
    set和map
    FFMPEG+SDL简单视频播放器——人脸检测
    Linux- 由映射文件I/O问题引出的SIGBUS & 空洞文件(Sparse File)
    Linux中ROS话题通信基本操作(Python实现)
    【C++】day6学习成果
    分类预测 | Matlab实现WOA-BiLSTM鲸鱼算法优化双向长短期记忆神经网络的数据多输入分类预测
    ssm+java+vue微信小程序的驾校预约管理系统#毕业设计
    使用Spring构建Web应用SpringMVC详解!
    24v转12v转9v转5v转4.2v降压电源芯片AH8788
    Redis(二)入门:概述与安装
  • 原文地址:https://blog.csdn.net/w13511069150/article/details/133687350