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

欢迎来到 GreatSQL社区分享的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 :)

文章推荐:

GreatSQL MGR FAQ
https://mp.weixin.qq.com/s/J6...

万答#12,MGR整个集群挂掉后,如何才能自动选主,不用手动干预
https://mp.weixin.qq.com/s/07...

『2021数据技术嘉年华·ON LINE』:《MySQL高可用架构演进及实践》
https://mp.weixin.qq.com/s/u7...

一条sql语句慢在哪之抓包分析
https://mp.weixin.qq.com/s/AY...

万答#15,都有哪些情况可能导致MGR服务无法启动
https://mp.weixin.qq.com/s/in...

技术分享 | 为什么MGR一致性模式不推荐AFTER
https://mp.weixin.qq.com/s/rN...

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

Gitee:
https://gitee.com/GreatSQL/Gr...

GitHub:
https://github.com/GreatSQL/G...

Bilibili:
https://space.bilibili.com/13...

微信&QQ群:
可搜索添加GreatSQL社区助手微信好友,发送验证信息“加群”加入GreatSQL/MGR交流微信群

QQ群:533341697
微信小助手:wanlidbc

本文由博客一文多发平台 OpenWrite 发布!

你可能感兴趣的:(mysql数据库sql)