GreatSQL社区

搜索

AWS RDS怎么搭建本地同步库?

500 1 2022-8-19 10:54
AWS RDS怎么搭建本地同步库?
全部回复(1)
GreatSQL万答 2022-8-19 11:13:08
背景说明
AWS RDS 权限受限,使用 mysqldump 的时候无法添加 --master_data  参数获取Binlog 的 Pos 信息,故需要调用官方存储过程进行处理,详细步骤如下。
操作步骤
1.登陆aws从实例确认下主从同步
  1. mysql> show slave status\G;
复制代码
2.调用aws的存储过程停止同步
  1. mysql> call mysql.rds_stop_replication;
复制代码
3.调用aws的存储过程,调整binlog保留时间为168H
  1. mysql> call mysql.rds_set_configuration('binlog retention hours',168);
复制代码
4.在中转的aws服务器上进行数据导出
  1. 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导入的本地实例中
  1. mysql> mysql -uroot -pGreatSQL -S /tmp/mysql.sock < /backup/导出的库名_时间.sql
复制代码
6.创建同步权限
  1. mysql> GRANT REPLICATION SLAVE ON *.* TO 'sync'@'%' IDENTIFIED BY 'GreatSQL';
  2. mysql> flush privileges;
复制代码
7、建立同步
  1. 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的值;
  2. mysql> start slave;
复制代码
8.原先从RDS的存储过程开启同步
  1. mysql> call mysql.rds_start_replication;
复制代码
Enjoy GreatSQL

GreatSQL万答

22

主题

0

博客

73

贡献

版主

Rank: 7Rank: 7Rank: 7

积分
117

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-4-26 00:07 , Processed in 0.017813 second(s), 12 queries , Redis On.
快速回复 返回顶部 返回列表