记一次阿里云RDS备份文件本地恢复

遭遇:由于公司的数据库要进行一次数据清理,先把阿里云的RDS实例的备份zip包下载到了本地一份,一段时间后相安无事,突然前天让我查一下之前的旧数据……

看了官网的恢复介绍:https://www.alibabacloud.com/help/zh/doc-detail/26212.htm

我选择的方案是使用测试LINUX服务器,然后把之前珍藏的备份文件放到上面解压,上面之前也搭建了一个mysql数据库;
准备工作:

  • LINUX服务器centos7
  • mysql5.6
  • percona-xtrabackup
  • 解压脚本文件(阿里官网提供的有sh脚本)点击下载
  • 备份文件:XXXXX.tar.gz

1.下载安装percona-xtrabackup

下载包依赖

#下载包依赖
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

安装

yum install percona-xtrabackup-22

2.解压备份文件、复原数据

  1. 给sh脚本提交权限、使用脚本解压备份文件到指定的文件夹
chmod +x rds_backup_extract.sh
bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /opt/backup<可以是你自己创建的文件夹>
  1. 复原数据
innobackupex --defaults-file=/opt/backup/backup-my.cnf --apply-log /opt/backup

完成后提示: completed OK!

3.修改配置

修改文件归属

chown -R mysql:mysql /opt/backup/

这里修改我和官网的不太样,按照官网的一直没有后面mysql一起没有启动需要备份的数据库,一直加载的是之前的数据库
解压完成后的目录

解压后的目录

进入到解压完成后的目录,修改backup-my.cnf
我的 backup-my.cnf修改


backup-my.cnf

4.启动mysql 拿到数据

这里执行要定制数据文件、配置文件

 mysqld_safe --defaults-file=/opt/backup/mysql/backup-my.cnf --user=mysql --datadir=/opt/backup/mysql/ &
  • 恢复过的数据库使用root登录,没有密码
mysql -uroot 
  • 设置密码,外网访问
use mysql;
update user set password=password(‘123456′) where user=’root’;
update user set host=’%’ where user=’root’ && host=’127.0.0.1′;
flush privileges;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容