阿里云mongodb备份文件本地恢复

admin4周前 (03-13)linux24

//参考官方文档

https://help.aliyun.com/zh/mongodb/user-guide/restore-data-of-an-apsaradb-for-mongodb-instance-to-a-self-managed-mongodb-database-by-using-physical-backups?spm=a2c4g.11186623.help-menu-26556.d_2_15_1_1_1.290f2bdeVT8hqe

由于数据库备份目录中没有关于版本的日志文件,只能装一个高版本来解压数据后启动查看报错

image.png

其余的过程可以复用 http://py.10isp.com/?id=1481

1.工具准备

如果是MySQL 5.7、5.6或5.5实例,下载并安装Percona XtraBackup 2.4

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

yum install -y percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

安装解压工具qpress

## 下载可执行文件的tar包
wget "https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20230406/flxd/qpress-11-linux-x64.tar"

## 解压下载的tar包,取出可执行文件
tar -xvf qpress-11-linux-x64.tar

## 设置qpress文件的执行权限
sudo chmod 775 qpress

## 拷贝qpress到/usr/bin中
sudo cp qpress /usr/bin

创建一个目录(本文示例目录为/home/data)用于存放解压后的文件。

mkdir /home/data

2.解包恢复

a.解包

cat /home/custins00000000-hins24087000_data_20230728000000_qp.xb | xbstream -x -v -C /home/data

b.解压

innobackupex --decompress --remove-original /home/data

解压后目录结构如下

image.png

然后就是正常的宝塔面板安装mongodb,备份现有的data目录,将解压后的data目录替换,修改权限,启动服务(与mysql本地回复思路一致)

//备份原始data数据库目录

mv /www/server/mongodb/data /www/server/mongodb/data-back
mv /home/data /www/server/mongodb/
chown mongo.mongo /www/server/mongodb/data -R

如果无法正常启动查看默认日志文件中是否有报错

tailf /www/server/mongodb/log/config.log

排除问题后成功启动

image.png