为了账号安全,请及时绑定邮箱和手机立即绑定

万答17,AWS RDS怎么搭建本地同步库

标签:
MySQL

背景说明

AWS RDS 权限受限,使用 mysqldump 的时候无法添加 --master_data 参数获取Binlog 的 Pos 信息,故需要调用官方存储过程进行处理,详细步骤如下。

操作步骤

1.登陆aws从实例确认下主从同步

mysql> show slave status\G;

2.调用aws的存储过程停止同步

mysql> call mysql.rds_stop_replication;

3.调用aws的存储过程,调整binlog保留时间为168H

mysql> call mysql.rds_set_configuration('binlog retention hours',168);

4.在中转的aws服务器上进行数据导出

mysql> mysqldump --single-transaction --default-character-set=utf8 -h 从aws的域名 -P从aws端口 -uroot -pGreatSQL -R -E -B 导出的库名 > /backup/导出的库名_时间.sql

记录以下4个信息

  • Master_Host # RDS的HOST信息,通常是一串域名
  • Master_Port # RDS的端口
  • Relay_Master_Log_File # 主RDS节点Binlog
  • Exec_Master_Log_Pos # 主RDS节点Pos

5.将导出SQL导入的本地实例中

mysql> mysql -uroot -pGreatSQL -S /tmp/mysql.sock < /backup/导出的库名_时间.sql

6.创建同步权限

mysql> GRANT REPLICATION SLAVE ON *.* TO 'sync'@'%' IDENTIFIED BY 'GreatSQL';
mysql> flush privileges;

7、建立同步

mysql> change master to master_host='主RDS域名',master_port=主RDS端口,master_user='sync',master_password='GreatSQL',master_log_file='前面步骤4Relay_Master_Log_File的值',master_log_pos=前面步骤4Exec_Master_Log_Pos的值;
mysql> start slave;

8.原先从RDS的存储过程开启同步

mysql> call mysql.rds_start_replication;

Enjoy GreatSQL :)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
数据库工程师
手记
粉丝
6
获赞与收藏
66

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消