[mysql]-xtrabackup恢复阿里云RDS

上个周末上新项目 迁移数据库30个G的库 迁移了2次耗时1天.感觉效率太低,想用xtrabackup恢复,发现之前mysql5.6和mysql8.0的文章写得潦草.自己一时半会也有点看不懂了.于是重写一遍5.7的

 

这边使用内存1G 差不多1个小时就恢复30G的数据,使用dump恢复需要至少4小时半天

 

首先安装Percona XtraBackup
安装yum 源

 

Mysql5.7 安装2.4 版本。

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

yum install -y percona-xtrabackup-24.x86_64

 

本地服务器安装mysql5.7.x版本

安装过程省略

 

1普通恢复  备份本地自建数据库数据并恢复

通过percona xtrabackup备份原有数据

mkdir /home/bak

innobackupex --defaults-file=/etc/my.cnf --user=root --password='Hangzhou@123' /home/bak/

停止mysql 并 备份原有data文件夹

service mysqld stop

mv /usr/local/mysql/data /usr/local/mysql/data_bak

创建新的数据文件夹

mkdir /usr/local/mysql/data

/home/bak 文件夹里会生成一个以时间命名的文件夹,里面时备份出来的数据。

 

应用日志

innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/bak/2019-12-09_03-41-59

 

拷贝数据

innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /home/bak/2019-12-09_03-41-59

 

修改权限并启动数据库

chown -R mysql:mysql /usr/local/mysql/data

service mysqld start

 

 

 

2阿里云RDS恢复到本地数据库

备份原有数据文件夹并停止mysql

mv /usr/local/mysql/data /u sr/local/mysql/data2

service mysqld stop

 

创建数据存放的文件夹 并将阿里云上下载的全量备份文件上传到服务器的/tmp

cd /tmp

mkdir /tmp/back

tar zxvf hins8229191_data_20191129231524.tar  -C  back

 

应用日志  可以使用内存加速  这边使用内存1G 差不多1个小时就恢复30G的数据

innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log  --use-memory=1G /tmp/back/

拷贝数据

innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /tmp/back

 

 

授权并重新启动mysql

chown -R mysql:mysql /usr/local/mysql/data

service mysqld start

 

 

用原来数据库的账号密码 登陆数据库即可。

 

 

 

 

 

可参考下面这个写的比较清晰的博客

https://blog.51cto.com/niubdada/2380250

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值