Amazon RDS数据库实例配置与外部源主从同步数据

本文详细介绍了如何配置AWSRDSMySQL实例进行主从同步,包括设置binlog_format和autocommit参数,确保网络互通,设置只读模式,导入数据,创建同步用户并授权,以及启动和管理复制过程。同时提醒注意RDS实例IP地址可能的变化情况及其对同步的影响。
摘要由CSDN通过智能技术生成

准备工作

1、AWS RDS Mysql开启配置

binlog_format 参数设置为 MIXED
autocommit 参数设置为 1

2、保证RDS与外部库的网络互通(安全组,白名单等)

可以通过运行以下任一命令来查找 RDS 实例的 IP 地址

nslookup rds-endpoint

或者

dig rds-endpoint

配置主从同步

1、将源 MySQL设置为只读

mysql> FLUSH TABLES WITH READ LOCK;
mysql> SET GLOBAL read_only = ON; 

2、 查看日志位置

SHOW MASTER STATUS;

示例输出

File                   Position  
------------------------------------
 mysql-bin.000001      155   
------------------------------------ 

3、从库导入数据,mysqldump或者navicat等工具导入

mysqldump --databases database_name \
    --single-transaction \
    --compress \
    --order-by-primary \
    -u local_user \
    -plocal_password | mysql \
        --host=hostname \
        --port=3306 \
        -u RDS_user_name \
        -pRDS_password

确保 -p 选项和输入的密码之间没有空格

4、将源 MySQL设置为可写

mysql> SET GLOBAL read_only = OFF;
mysql> UNLOCK TABLES; 

5、配置用于同步的账号

MySQL 5.7

CREATE USER 'sync_user'@'RDS IP' IDENTIFIED BY 'password';

MySQL 8.0

CREATE USER 'sync_user'@'RDS IP' IDENTIFIED WITH mysql_native_password BY 'password';

6、同步用户授予 REPLICATION CLIENT 和 REPLICATION SLAVE 权限

MySQL 5.7

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'sync_user'@'RDS IP' IDENTIFIED BY 'password';

MySQL 8.0

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'sync_user'@'RDS IP';

7、将 AWS RDS 数据库实例设置为副本。

请先以主用户身份连接到 Amazon RDS 数据库实例。然后使用 mysql.rds_set_external_source 命令,将外部 MySQL数据库标识为源实例。

CALL mysql.rds_set_external_source ('主库Host', 3306, 'sync_user', 'password', 'mysql-bin.000001', 155, 0);

8、AWS RDS实例上启动同步

CALL mysql.rds_start_replication;

查看同步状态

SHOW REPLICA STATUS\G;

其他会用到的一些命令

停止复制过程

CALL mysql.rds_stop_replication;

清除只读副本

CALL mysql.rds_reset_external_source;

清除只读副本

CALL mysql.rds_reset_external_master;

备注

分配给 RDS 数据库实例的 IP 地址在以下一种或多种情况下会发生变化:

1.实例已停止并重新启动。
注意:重启实例时,IP 地址不会发生变化。
2.由于实例故障和数据库实例类更新等情况,底层主机被替换。
3.实例上进行了硬件维护。
4.实例位于多可用区环境中,并且发生了故障转移。
5.数据库实例的操作系统进行软件修补。
6.数据库实例的手动故障转移由使用带故障转移的重启操作启动。
7.数据库引擎进行主要或次要版本升级。
8.实例的可用区中断。

如果想避免RDS实例IP变动而造成同步中断,可以把外部库实例放在同一VPC下通过内网互通

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值