修的了电脑 敲得了代码
     写得了前端 稳得住后端

腾讯云数据库XB格式物理备份恢复(避坑指南)

按照腾讯云官网的恢复教程(https://cloud.tencent.com/document/product/236/33363),前面都没问题,但是到最后一步:

mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &

启动死活报错,排查许久也没排查出什么问题,问题如下

mysql5.7报错

后想起以前做的阿里云数据库恢复教程。突然猛想起一个问题:以前安装mysql5.7也死活启动不了,后面安装了MySQL 10.7.3-MariaDB,再从新启动即可。切记切记,不要安装MySQL的版本,要安装MariaDB。这里,我选择了最新版本的。

下面开始正式的教程:

系统环境centos7.9,安装之后建议更新之后在操作yum install update -y

安装环境

Percona Xtrabackup 

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24
安装qpress 
wget https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile

1、安装宝塔

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

2、解包备份文件

xbstream -x -C /data/mysql < /data/test.xb
本文目标目录以 /data/mysql 为数据文件恢复存储,您可根据实际情况替换为实际路径。
/data/test.xb 替换为您的备份文件。

3、解压备份文件

xtrabackup --decompress --target-dir=/data/mysql
/data/mysql 为之前存储备份文件的目标目录 ,您可根据实际情况替换为实际路径。
Percona Xtrabackup 在2.4.6及以上版本中才支持 --remove-original 选项。
xtrabackup 默认在解压缩时不删除原始的压缩文件,若需解压完删除原始的压缩文件,可在上面的命令中加上 --remove-original 参数。

4、Prepare 备份文件

xtrabackup --prepare --target-dir=/data/mysql

执行后若结果中包含如下输出,则表示 prepare 成功。

5、修改配置文件

vi /data/mysql/backup-my.cnf
本文以目标目录 /data/mysql 为例,您可以根据实际情况将其替换成实际路径。这里与官方的不一样,具体的配置可以看我以下配置:

6、修改文件属性(与官方的不一样,我使用root)

chown -R root:root /data/mysql

7、启动 mysqld 进程并登录验证 这里我是使用了3308端口,注意关闭防火墙

mysqld_safe --defaults-file=/root/data/mysql/58991/backup-my.cnf --user=root --datadir=/root/data/mysql/58991 --port=3308

8、如果提示目录无法写入,给目录777的权限

chmod 777 /root/data/mysql/58991
赞(5)
未经允许不得转载:流云溪|码农 » 腾讯云数据库XB格式物理备份恢复(避坑指南)