阿里云rds备份文件本地恢复-mysql-5.6
//参考官方文档
部署自建MySQL数据库,其中数据库大版本与RDS MySQL的大版本必须相同(例如都是8.0)。
安装宝塔面板,安装对应mysql版本(解压后查看xtrabackup_info文件)
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.MySQL 5.6/5.7解压
innobackupex --decompress --remove-original /home/data
c.执行如下命令,恢复解压好的备份文件。
## MySQL 5.6/5.7
innobackupex --defaults-file=/home/data/backup-my.cnf --apply-log /home/data
//此步骤会重新生成ib_logfile文件
运行完毕后会提示ok
[root@localhost data]# innobackupex --defaults-file=/home/data/backup-my.cnf --apply-log /home/data 230406 18:03:37 innobackupex: Starting the apply-log operation IMPORTANT: Please check that the apply-log run completes successfully. At the end of a successful apply-log run innobackupex prints "completed OK!". innobackupex version 2.4.9 based on MySQL server 5.7.13 Linux (x86_64) (revision id: a467167cdd4) xtrabackup: cd to /home/data/ .......... InnoDB: 96 redo rollback segment(s) found. 1 redo rollback segment(s) are active. InnoDB: 32 non-redo rollback segment(s) are active. InnoDB: 5.7.13 started; log sequence number 1091789331989 xtrabackup: starting shutdown with innodb_fast_shutdown = 1 InnoDB: FTS optimize thread exiting. InnoDB: Starting shutdown... InnoDB: Shutdown completed; log sequence number 1091789333634 230406 18:05:11 completed OK!
//备份原始mysql数据库目录
mv /www/server/data /www/server/data-back mkdir /www/server/data
d.将恢复完毕的数据目录复制到自建mysql的数据库目录(这里只需要指定源目录,目标目录xtrabackup会读取my.cnf中的配置参数)
//此目录为解压使用的临时目录
xtrabackup --copy-back --target-dir=/home/data/ chown mysql.mysql /www/server/data -R
替换恢复后的mysql库中的user表,有必要再重置密码
bt面板中启动mysql