操作场景
原文:https://support.huaweicloud.com/usermanual-rds/rds_08_0044.html
您可根据业务需要,参考下载全量备份文件,并通过备份文件进行本地存储备份或者恢复数据。
须知:
备份文件不支持恢复到本地为Windows操作系统的数据库。
由于开源备份工具(XtraBackup)目前仅支持x86包,不支持ARM,因此ARM的ECS自建库不能根据本章操作进行备份文件恢复,推荐您可以使用DRS迁移或数据导出导入的方式,具体请参见数据迁移。
前提条件
通过下载备份文件恢复数据到自建MySQL,请确保恢复目标MySQL版本不低于备份源RDS for MySQL版本。
恢复数据过程中,您可通过命令查看任务进程:
ps -ef | grep mysql
操作步骤1-2如果是Ub/De用户可以直接通过官方APT Deb包源安装:
https://www.percona.com/doc/percona-xtrabackup/2.4/installation/apt_repo.html
CentOS:
- 下载qpress程序,并上传到ECS进行安装。
在网站下载文件“qpress-11-linux.x64.tar”, 并上传到ECS上。
tar -xvf qpress-11-linux-x64.tar
mv qpress /usr/bin/
- 下载XtraBackup软件,并上传到ECS进行安装。
须知:
- 对于MySQL 5.6和5.7,请下载XtraBackup 2.4.9及其以上版本。
- 对于MySQL 8.0,请下载XtraBackup 8.0及其以上版本。
在网站下载XtraBackup,并上传到ECS上,下面以下载“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
- 在ECS上解压下载好的全备文件。
- 创建一个临时目录backupdir。
- 解压文件。
xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/
- 5.6和5.7版本执行:innobackupex –parallel 4 –decompress ./backupdir
- 8.0版本执行:xtrabackup –parallel 4 –decompress –target-dir=./backupdir
- 删除“.qp”备份文件。
- 应用日志。
- 5.6和5.7版本执行:innobackupex –apply-log ./backupdir
- 8.0版本执行:xtrabackup –prepare –target-dir=./backupdir
- 备份数据。
- 停止MySQL数据库服务。
service mysql stop
说明:
如果是MySQL5.7, 需执行如下命令停止MySQL数据库服务:
/bin/systemctl stop mysqld.service
- 备份原来的数据库目录。
- 创建新的数据库目录并修改目录权限。
chown mysql:mysql /var/lib/mysql/data
- 停止MySQL数据库服务。
- 拷贝全备文件,并修改目录权限。(注意my.cnf文件位置,mysql)
- 5.6和5.7版本执行:innobackupex –defaults-file=/etc/my.cnf –copy-back ./backupdir
- 8.0版本执行:xtrabackup –defaults-file=/etc/my.cnf –copy-back –target-dir=./backupdir
chown -R mysql:mysql /var/lib/mysql/data
- 启动数据库。
service mysql start
说明:
如果是MySQL5.7, 需执行如下命令启动数据库:
/bin/systemctl start mysqld.service
- 登录数据库,查看数据恢复结果。
mysql -u root
show databases
图1 查看数据恢复结果