xtrabackup还原mysql


1.下载ALI平台备份包:

wget -c “http://rdsbak-shanghai-v2-3az.oss-cn-shanghai-internal.aliyuncs.com/custins69321456/hins25992165_data_20230823211743_qp.xb?Expires=16931mOQ1VDcN…..” -O 2023082121_qp.xb > /tmp/download.log

命令:nohup wget -c -t 0 “备份文件下载地址” -O 下载的目标路径及文件名 > 下载输出日志到对应文件 &

示例:nohup wget -c -t 0 “https://example.aliyundoc.com/examplebackup.qp.xb“ -O /backup/examplebackup.qp.xb > /tmp/download.log &

各命令代表含义如下:

-t 0:无限重试。

-c:支持断点续传。

-O:下载的目标路径及文件名。

nohup:避免因手误执行复制操作或者终端断开连接,把正在进行的下载中断,且当下载完毕后,之前的进程将会自动退出。

命令:nohup curl -C - –retry 10 “备份文件下载地址” -o 自定义文件名 > 下载输出日志到对应文件 &

示例:nohup curl -C –retry 10 “https://example.aliyundoc.com/examplebackup.qp.xb“ -o backup.qp.xb > /tmp/download.log &

各命令代表含义如下:

–retry 10:任务失败时的重试次数,以上示例表示重试10次。

-C -:支持自动断点续传。

-o:下载的目标路径及文件名。

nohup:避免因手误执行复制操作或者终端断开连接,把正在进行的下载中断,且当下载完毕后,之前的进程将会自动退出。

2 XtraBackup 还原

下载Percona XtraBackup 2.4.28为例,安装命令如下:

如果是MySQL 5.7、5.6或5.5实例,下载并安装Percona XtraBackup 2.4,如果是MySQL 8.0实例,下载并安装Percona XtraBackup 8.0,具体请参见Percona XtraBackup 8.0

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

sudo yum localinstall -y percona-xtrabackup-24-2.4.28-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

解压:

cat 20230823211743_qp.xb |xbstream -x -v -C /data/mysql_data/

innobackupex –decompress –remove-original /data/mysql_data/

## 步骤一:解包

cat 20230823211743_qp.xb |xbstream -x -v -C /data/mysql_data/

## 步骤二:解压

### MySQL 5.5/5.6/5.7

innobackupex –decompress –remove-original /data/mysql_data/

img

Mysql5.7恢复:

innobackupex –defaults-file=/var/mysql_bkdata/backup-my.cnf –apply-log /data/mysql_data/

img

编辑my.cnf

datadir=/data/mysql/

innodb_undo_tablespaces=2

innodb_undo_directory=/data/mysql/

#@

修改****datadir****的参数取值为/var/mysql_newdata。

放大查看复制代码

datadir = /var/mysql_newdata

mysql_newdata为自建数据库的新数据目录,已在[准备工作]中创建。

在my.cnf中添加如下内容。

innodb_undo_tablespaces=2

innodb_undo_directory=/var/mysql_newdata

参数****innodb_undo_tablespaces****的取值需要与/var/mysql_bkdata/backup-my.cnf中的取值相同,您可以使用cat /var/mysql_bkdata/backup-my.cnf | grep innodb_undo_tablespaces查询。

恢复数据。

sudo innobackupex –defaults-file=/etc/my.cnf –copy-back /data/mysql_data/

从备份目录copy到数据目录

img

img

给于mysql新目录权限,进入mysql


文章作者: 云上的小雨滴
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 云上的小雨滴 !
评论
  目录