heavstar 2019-06-26
写之前先说说这篇文章的来由,公司客户准备发布一些活动,采用在线报名的方式,由于前期表结构设计的不合理,后期优化对表结构的改动,导致部分活动用户报名数据丢失,于是想恢复mysql被误删的数据,幸运的是RDS每天会自动备份数据文件,官方也提供了恢复云数据库mysql的备份文件到自建数据库的文档,不再赘述,本文主要把恢复数据的过程记录下来,供大家参考:
mysql安装不在赘述,主要与RDS版本相同即可,Percona XtraBackup安装官方也提供了详细的文档,按照步骤操作即可。本文采用Centos7,不同linux系统可查阅相应的文档。
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum list | grep percona
yum install percona-xtrabackup-22
文档中有详细说明,按照文档下载需要恢复的文件即可,文件格式为.tar.gz压缩文件
chmod +x rds_backup_extract.sh
bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /var/backup
innobackupex --defaults-file=/var/backup/backup-my.cnf --apply-log /var/backup
chown -R mysql:mysql /var/backup/
mysqld_safe --defaults-file=/var/backup/backup-my.cnf --user=mysql --datadir=/var/backup/,需要注意/var/backup/ 目录有相应的权限,否则mysql启动会报错。