华为云云数据库rds恢复到自建MySQL数据库_云淘科技
本章节介绍将下载的华为云RDS for MySQL全量备份文件恢复到自建MySQL数据库的操作步骤。
如果您希望在本地重新建立一个同样体量MySQL数据库,并且将华为云RDS for MySQL数据全部迁移,可以使用本章节操作将下载的.qp文件在本地进行重建。
步骤一:在华为云RDS for MySQL下载全量备份文件
步骤二:在本地MySQL安装qpress和XtraBackup
步骤三:使用备份文件恢复数据到自建MySQL
操作流程
下载华为云RDS for MySQL实例中对应时间点的全备文件。
将全备文件上传到本地用以重建数据库。
使用qpress工具将全备文件解压。
通过Xtrabackup工具将全备文件恢复到数据库的data目录中,并将数据库原数据保留到data_back文件中。
重启数据库,数据重建成功。
约束限制
本章节仅使用从华为云RDS for MySQL 5.6、5.7、8.0版本实例下载的全量备份文件在本地恢复到对应版本自建数据库,不包括增量备份的恢复操作。
自建MySQL数据库内核小版本需与华为云RDS for MySQL版本号一致。
通过mysql -V或mysqld –version命令,可以查看MySQL内核版本。
仅支持恢复到本地为Linux操作系统的数据库。
由于开源备份工具目前仅支持x86包,不支持ARM,因此,不支持ARM的ECS自建库使用本章操作进行备份文件恢复。您可以使用DRS迁移或数据导出导入的方式,具体请参见数据迁移。
全量备份文件恢复到自建数据库将使用以下三个软件:
MySQL数据库
qpress工具
Percona XtraBackup工具
请使用对应版本工具,否则将无法恢复成功。
数据库 |
qpress |
Percona XtraBackup |
---|---|---|
MySQL 8.0 |
qpress 7 |
XtraBackup 8.0.0及以上版本 |
MySQL 5.7、MySQL 5.6 |
qpress 7 |
XtraBackup 2.4.9及以上版本 |
在进行恢复阶段请勿在本地自建数据库运行其他业务。
步骤一:在华为云RDS for MySQL下载全量备份文件
RDS for MySQL实例会在固定时间进行自动全备任务,也可以由您指定时间进行手动全备任务,其生成的.qp文件支持下载以及在本地进行恢复自建数据库。
您可以在RDS界面单击实例名称,选择“备份恢复 > 全量备份 > 下载”,下载全量备份文件。
图1 下载全量备份
通过文件传输工具(例如WinSCP)将全备文件上传到本地MySQL库所在的Linux设备。
步骤二:在本地MySQL安装qpress和XtraBackup
方式一:手动安装
下载正确版本的qpress和XtraBackup,也可以根据表2进行下载。下载完成后将安装包上传到本地MySQL库所在的Linux设备。
下载MySQL:Index of mysql-local/Downloads (huaweicloud.com)
下载qpress工具:https://repo.percona.com/yum/release/
下载Percona XtraBackup工具:
对于MySQL 5.6和5.7版本,下载XtraBackup 2.4.9及其以上版本。
对于MySQL 8.0版本,下载XtraBackup 8.0及其以上版本。
工具 |
下载示例 |
---|---|
MySQL 5.6 |
mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz |
MySQL 5.7 |
mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz |
MySQL 8.0 |
mysql-8.0.26-linux-glibc2.12-x86_64.tar |
qpress |
qpress-11-1.el7.x86_64.rpm |
Percona XtraBackup |
XtraBackup 2.4.9(MySQL 5.6、5.7) |
XtraBackup 8.0(MySQL 8.0) |
安装qpress rpm包。以Enterprise Linux 7(CentOS 7, RHEL 7, Rocky Linux 7, AlmaLinux 7)操作系统为例。
rpm -ivh qpress-11-1.el7.x86_64.rpm
解压Xtrabackup包,并改名为“xtrabackup”。
tar -zxvf percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz
mv percona-xtrabackup-2.4.9-Linux-x86_64 xtrabackup
xtrabackup添加到环境变量。
echo "export PATH=$PATH:/usr/local/xtrabackup/bin" >> /etc/profile mv xtrabackup/ /usr/local/ source /etc/profile
方式二:wget安装
安装qpress rpm包。
wget https://repo.percona.com/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm
rpm -ivh qpress-11-1.el7.x86_64.rpm
安装Percona XtraBackup。
MySQL 5.6、5.7,以下载并安装Percona XtraBackup 2.4.9为例
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm –nodeps –force
MySQL 8.0,以下载并安装Percona XtraBackup 8.0为例
wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.32-26/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm –nodeps –force
步骤三:使用备份文件恢复数据到自建MySQL
创建一个临时目录“backupdir”。
mkdir backupdir
解压全备文件。
MySQL 5.6、5.7
xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/
innobackupex –parallel 4 –decompress ./backupdir
MySQL 8.0
xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/
xtrabackup –parallel 4 –decompress –target-dir=./backupdir
删除qp文件。
find ./backupdir/ -name ‘*.qp’ | xargs rm -f
准备备份文件。
MySQL 5.6、5.7
innobackupex –apply-log ./backupdir
MySQL 8.0
xtrabackup –prepare –target-dir=./backupdir
备份数据。
停止MySQL数据库服务。
service mysql stop
如果是MySQL 5.7,需执行如下命令停止MySQL数据库服务:
/bin/systemctl stop mysqld.service
备份原来的数据库目录。
mv /usr/local/mysql/data /usr/local/mysql/data_bak
mkdir /usr/local/mysql/data
创建新的数据库目录并修改目录权限。
chown mysql:mysql /usr/local/mysql/data
恢复数据到自建库,并修改目录权限。
执行该步骤前,需要清空自建库的“data”目录,参考5.b。
MySQL 5.6、5.7
innobackupex –defaults-file=/etc/my.cnf –copy-back ./backupdir
chown -R mysql:mysql /usr/local/mysql/data
MySQL 8.0
xtrabackup –defaults-file=/etc/my.cnf –copy-back –target-dir=./backupdir
chown -R mysql:mysql /usr/local/mysql/data
命令中的相对路径(./backupdir)可替换成绝对路径。
“–defaults-file”为MySQL配置文件位置,您可以根据实际情况进行修改。
启动数据库。
service mysql start
如果是MySQL 5.7,需执行如下命令启动数据库:
/bin/systemctl start mysqld.service
登录数据库,查看数据恢复结果。
show databases
父主题: 数据恢复
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家