操作说明
开源软件Percona Xtrabackup可以用于对数据库进行备份恢复,您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中。
说明:由于软件限制(Percona Xtrabackup不支持Windows),目前只支持将云数据库MySQL的备份文件恢复到安装在Linux系统中的自建MySQL数据库中。
前提条件
- 已下载MySQL全量物理备份文件到本地。
- 操作系统中已安装数据恢复工具Percona XtraBackup,您可以从Percona XtraBackup官网下载安装。
- MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见官方文档Percona XtraBackup 2.3。
- MySQL 5.7版本需要安装 Percona XtraBackup 2.4,安装指导请参见官方文档Percona XtraBackup 2.4。
- 自建MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。
操作步骤
以下操作以MySQL 5.7和默认数据目录/var/lib/mysql为例进行说明,MySQL 5.6版本启停服务改为mysql即可。
- 解密(解密部分暂时需要联系网宿云技术支持代为执行):
openssl enc -d -aes-256-cbc -salt -pass pass:{密码} -in xxx.xbstream.gz.enc -out xxx.xbstream.gz,解密后得到xxx.xbstream.gz压缩文件。
- 将上述得到的备份压缩文件拷贝至需要恢复的数据库主机。
- 停止mysql服务:
service mysqld stop
- 清空数据目录:
rm -rf /var/lib/mysql/*
- 解压:
gzip -d -c xxx.xbstream.gz | xbstream -x -v -C /var/lib/mysql
说明:-C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。
- 恢复:
sudo innobackupex --defaults-file=/var/lib/mysql/backup-my.cnf --apply-log --redo-only --ibbackup=xtrabackup /var/lib/mysql
- 修改权限为mysql:
chown -R mysql:mysql /var/lib/mysql
- 启动mysql服务:
service mysqld start