AWS RDS - 将 RDS MySQL 实例作为 自建MySQL 实例的从库

  1. 首先需要创建源数据的副本。
    (1) 修改您的源端数据库配置文件 , 打开 binlog 配置。
    log-bin=mysql-bin
    server-id=1

(2) 重启源端数据库

(3) 使用 mysqldump 备份数据库(如果多个数据库,就写为 db1 db2 db3 )
mysqldump
–databases database_name
–master-data=2
–single-transaction
–order-by-primary
-r backup.sql
-u local_user
-p password

(4) 将该备份文件压缩。

**注意:
将 --single-transaction 选项与 mysqldump 结合使用
从转储文件中排除以下架构:sys、performance_schema 和 information_schema。默认情况下,mysqldump 实用工程序包括这些架构。
如果您需要迁移用户和权限,请考虑使用生成数据控制语言 (DCL) 的工具 (如 pt-show-grants 实用程序) 来重新创建用户和权限。
您必须在 Amazon RDS 数据库中手动创建任何存储过程、触发器、函数或事件。如果您所复制的数据库中有上述任一对象,请在运行 mysqldump 时排除这些对象,方式是将以下参数与 mysqldump 命令一起包含:–routines=0 --triggers=0 --events=0。

  1. 创建 Amazon EC2 实例和复制压缩的数据库
    (1) 创建一个EC2 实例,将 1 中的压缩备份文件上传至 EC2 实例, 并解压。
    (2) EC2 中安装

  2. 创建 Amazon RDS MySQL 或 MariaDB 数据库实例,并从 Amazon EC2 实例导入数据
    (1) 创建 Amazon RDS MySQL 实例
    (2) 通过 EC2 实例 中的 mysql 客户端,连接 RDS mysql 实例, 并导入 2 中解压的数据文件。

  3. 在外部数据库和新的 Amazon RDS 数据库实例之间进行复制
    (1) 确保自建数据库和 RDS MySQL 实例间可以建立连接。
    (2) 在自建数据库中创建复制用户, 并授权。
    (3) 在 2 中的解压备份文件中 查看当前的 binlog的文件以及位置点
    (4) 连接至 RDS MySQL 实例, 并使用如下命令设置 master 信息
    CALL mysql.rds_set_external_master (‘myserver.mydomain.com’, 3306,
    ‘repl_user’, ‘password’, ‘mysql-bin-changelog.000031’, 107, 0);
    (5) 在 RDS MySQL 实例中 启动复制
    CALL mysql.rds_start_replication;
    (6) 在 Amazon RDS 数据库实例上,运行 SHOW SLAVE STATUS 命令以确定副本何时与源复制实例实现同步.
    (7) 在 Amazon RDS 数据库实例同步后,启用自动备份以便您能在需要时还原数据库。

参考文档:
[1] https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.NonRDSRepl.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值