通过备份文件恢复到自建数据库(MySQL)
操作场景
您可根据业务需要,参考下载备份文件,并通过备份文件进行本地存储备份或者恢复数据。
备份文件不支持恢复到本地为Windows操作系统的数据库。
由于开源备份工具(XtraBackup)目前仅支持x86包,不支持ARM,因此ARM的ECS自建库不能根据本章操作进行备份文件恢复,推荐您可以使用DRS迁移或数据导出导入的方式,具体请参见数据迁移。
前提条件
通过下载备份文件恢复数据到自建MySQL,请确保恢复目标MySQL版本不低于备份源RDS for MySQL版本。
恢复数据过程中,您可通过命令查看任务进程:
ps -ef | grep mysql
操作步骤
- 下载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上解压下载好的全备文件。
- 应用日志。
- 5.6和5.7版本执行:innobackupex --apply-log ./backupdir
- 8.0版本执行:xtrabackup --prepare --target-dir=./backupdir
- 备份数据。
- 拷贝全备文件,并修改目录权限。
- 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 查看数据恢复结果