示例-从阿里云 RDS MySQL 同步到 ProtonBase

从阿里云 RDS MySQL 同步到 ProtonBase

从阿里云RDS MySQL同步数据

检查事项

  • 1. 创建MySQL账号
  • 2. 调整MySQL账号权限
  • 3. 调整公网访问设置
  • 4. 调整公网SSL配置(可选步骤)
  • 5. 检查MySQL binlog配置
  • 6. 设置Teleport同步任务

创建同步账号

  1. 登录RDS控制台,跳转到实例详情的账号管理,点击创建账号

img.png

  1. 新建用户并授权

img.png

  1. 修改已有用户权限,

    1. 打开用户列表选择修改同步账号的权限

    img.png

    1. 勾选需要同步的数据库,点击三角箭头移入右侧“授权数据库”列表

    img.png

    1. 设置数据库权限,然后点击确认。

    img.png


网络设置

网络打通方案选择 - MySQL实例与ProtonBase实例部署在同一区域,请参考Tunnel连接方案。- MySQL实例与ProtonBase实例不在同一区域,参考公网访问配置设置。

开启公网访问

  1. 登录RDS控制台,跳转到实例详情,点击查看连接详情 img.png
  2. 点击允许外网访问
    • 安全建议:禁止0.0.0.0/0直接访问RDS,在后续步骤中添加白名单。

img.png 3. 等待网络初始化(需要刷新页面查看最新状态) img_1.png 4. 网络初始化完成后,再次点击查看连接详情

  • 记录外网连接地址,后续teleport同步需要使用。 img.png
  1. 若步骤2没有允许0.0.0.0/0公网访问,需要单独设置公网白名单。为保证小质teleport服务正常工作,请添加以下规则
    • 阿里云(北京):39.105.121.234/32
    • 阿里云(杭州):47.111.11.209/32
    • 腾讯云(上海):124.223.41.127/32

开启SSL加密(可选项)

  1. 详细操作参考阿里云官方文档:https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/configure-ssl-encryption-for-an-apsaradb-rds-for-mysql-instance (opens in a new tab)

检查MySQL服务配置

执行以下SQL,检查配置是否有出入。

select @@server_id; -- 非空
select @@log_bin; -- 预期输出 1
select @@binlog_format; -- 预期输出 ROW
select @@binlog_row_image; -- 预期输出 FULL

设置teleport同步任务

  1. 参考文档