RDS for mysql5.7 基础版本使用mysqldump 全量加增量恢复到本地-阿里云开发者社区

开发者社区> 数据库> 正文

RDS for mysql5.7 基础版本使用mysqldump 全量加增量恢复到本地

简介: rds mysql 5.7基础版本无法下载物理备份,在业务不允许中断,并且本地数据库没有公网的情况下,如果要迁移数据到本地可以利用mysqldump 导出的dump 文件然后结合binlog 增量把rds数据迁移到本地。

rds mysql 5.7基础版本无法下载物理备份,在业务不允许中断,并且本地数据库没有公网的情况下,如果要迁移数据到本地可以利用mysqldump 导出的dump 文件然后结合binlog 增量把rds数据迁移到本地。

本地环境数据库需要也是mysql5.7版本
mysql -uroot -p123456 -S /tmp/mysql57.sock 这个是本地数据库启动连接方式。
以下是迁移步骤:
mysqldump -uroot -p密码 -hrds地址 c1 --single-transaction --set-gtid-purged=OFF --master-data=2 > c1.sql
参数说明:
c1 数据库名字
--single-transaction 参数避免表级锁等待
--set-gtid-purged=OFF 在mysqldump输出中不包含 SET @@GLOBAL.GTID_PURGED 语句避免导入本地报错
--master-data 使用此参数作用是在导出的dump文件记录需要增量的binlog 和位点

执行以下命令导入到本地数据库
mysql -uroot -p123456 c1 -S /tmp/mysql57.sock < c1.sql

执行以下命令获取需要增量使用的binlog名字和位点
cat c1.sql | grep MASTER_LOG_FILE

mysqlbinlog --start-position=384 mysql-bin.001035 -uroot -prds密码 -hrds地址 --read-from-remote-server >aa.sql

--start-position 指定位点
--read-from-remote-server 参数实现远程读取并保存到本地的aa.sql文件中

vim aa.sql 打开文件把SET @@GLOBAL.GTID_PURGED 信息注释一下。

mysql -uroot -p123456 -S /tmp/mysql57.sock c1 < aa.sql

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章