全部产品

MySQL数据同步至分析型数据库AnalyticDB

更新时间:2019-08-02 15:02:31

数据传输服务 DTS (以下简称 DTS)支持 MySQL 到分析型数据库AnalyticDB的数据实时同步。通过 DTS 提供的数据同步功能,可以将企业数据集中分析,实现企业内部各种 BI、交互查询、实时报表系统等,从而提升业务的实时性。
本小节介绍如何使用 DTS 完成MySQL数据同步至分析型数据库AnalyticDB的配置流程,实现MySQL增量数据实时同步至分析型数据库AnalyticDB中。

支持的数据同步类型

数据同步源库 数据同步目标库
通过专线接入阿里云的自建MySQL 分析型数据库AnalyticDB
ECS上的自建MySQL 分析型数据库AnalyticDB
同一个阿里云账号下 RDS for MySQL 分析型数据库AnalyticDB
不同阿里云账号下的 RDS for MySQL 分析型数据库AnalyticDB

支持的 SQL 操作类型

目标数据库 支持的DDL操作 支持的DML操作
AnalyticDB 2.0版本 CREATE TABLE、ALTER TABLE、DROP TABLE INSERT、UPDATE、DELETE
AnalyticDB 3.0版本 CREATE TABLE、ALTER TABLE、ADD COLUMN、DROP TABLE、TRUNCATE TABLE INSERT、UPDATE、DELETE

配置步骤

下面详细介绍MySQL数据同步至分析型数据库AnalyticDB的配置流程。

1. 购买同步链路

进入 数据传输服务 DTS 控制台,进入数据同步页面,点击控制台右上角“创建同步作业” 开始作业配置。

在链路配置之前需要购买一个同步链路。同步链路目前支持包年包月及按量付费两种付费模式,可以根据需要选择不同的付费模式。

在购买页面需要配置的参数包括:

  • 源实例
    源实例目前只支持 MySQL。
  • 源地域
    如果为本地自建MySQL,那么选择专线在阿里云上的接入点所在的地域。如果为ECS上的自建MySQL,那么选择ECS实例所在的地域。如果为RDS For MySQL,那么选择RDS实例所在的地域。
  • 目标实例
    目标实例目前支持MySQL、MaxCompute、Datahub及分析型数据库AnalyticDB。本小节中选择 分析型数据库 AnalyticDB
  • 目标地域
    目标地域为目标分析型数据库AnalyticDB所在地域。
  • 实例规格
    实例规格影响了链路的同步性能,实例规格跟性能之间的对应关系详见 数据同步规格说明

当购买完同步链路,返回DTS控制台,点击新购链路右侧的“配置同步作业” 开始链路配置。

2. 同步链路连接信息配置

这一步主要配置:

  • 同步作业名称

同步作业名称没有唯一性要求。为了更方便识别具体的作业,建议选择一个有业务意义的作业名称,方便后续的链路查找及管理。

  • 数据源连接信息配置

源实例可以为:通过专线接入阿里云的自建数据库、ECS上的自建数据库、RDS。

如果源实例为通过专线接入阿里云的自建数据库,那么需要配置的连接信息如下:

  • 实例类型:选择 通过专线接入阿里云的本地 DB
  • 实例地区:专线接入阿里云的接入点,例如接入阿里云的北京,那么选择 华北2
  • 对端专有网络:专线接入的阿里云上的专有网络的VPC ID
  • 主机名或IP地址:本地 MySQL 数据库的访问地址,这个地址为本地局域网访问地址
  • 端口:本地 MySQL 实例监听端口
  • 数据库账号:本地 MySQL 实例访问账号
  • 数据库密码:上面指定的 MySQL 访问账号对应的密码

本地自建DB

如果源实例为ECS上的自建数据库,那么需要配置的连接信息如下:

  • 实例类型:选择 ECS上的自建数据库
  • ECS实例ID: ECS实例的ID
  • 端口:ECS上的自建 MySQL 实例监听端口
  • 数据库账号:ECS上的自建 MySQL 实例访问账号
  • 数据库密码:上面指定的 MySQL 访问账号对应的密码

ECS上的自建数据库

如果源实例为RDS,那么只需要配置RDS实例的ID。

RDS2ADS

目标实例信息中需要配置分析型数据库AnalyticDB对应的数据库名称。

当这些内容配置完成后,可以点击授权白名单并进入下一步 进行 RDS for MySQL 白名单添加及 AnalyticDB 账号权限授权。

3. 分析型数据库AnalyticDB账号授权

将分析型数据库AnalyticDB对应数据库的读写权限授权给 DTS 同步账号。ADS账号授权

4. 授权实例白名单

如果源实例为RDS For MySQL,那么DTS服务器的IP地址添加到目标RDS for MySQL实例的白名单中,用于保障DTS服务器能够正常连接RDS for MySQL实例。。

为了保证同步作业的稳定性,在同步过程中,请勿将这些服务器 IP 从 RDS实例的白名单中删除。

当白名单授权后,点击“下一步”,进入同步账号创建。

5. 选择同步对象

当分析型数据库AnalyticDB同步账号授权完成后,即进入同步对象的选择步骤。实时同步的同步对象的选择粒度可以支持到表级别,即用户可以选择同步某些库或某几张表。

配置迁移对象时,MySQL中的数据库对应AnalyticDB中的table group。

RDS2ADS同步对象选择

当配置完同步对象后,进入同步初始化配置。

6. 表结构定义

如果选择了结构初始化,那么需要对每个要同步的表,定义其在分析型数据库AnalyticDB中的表类型、主键、分区列等。分析型数据库AnalyticDB的表定义可以参考 创建和修改表

7. 预检查

同步作业配置完成后,DTS会进行预检查,当预检查通过后,可以点击 启动 按钮,启动同步作业。

同步作业启动后,即进入同步作业列表。此时刚启动的作业处于同步初始化状态。初始化的时间长度取决于源实例中同步对象的数据量大小。初始化完成后,同步链路即进入同步中的状态,此时源跟目标实例的同步链路才真正建立。