MySQL Binlog输入基于Binlog实时订阅的方式,实时读取您配置的MySQL数据库表数据。本文为您介绍,如何配置MySQL Binlog输入,以及配置输入之前需要准备的网络环境及账号权限。

前提条件

配置MySQL Binlog输入之前,请确保已完成以下规划与准备工作。
  • 准备数据源:已购买来源数据源MySQL。
  • 资源规划与准备:已购买独享数据集成资源组,并完成资源配置。详情可参见资源规划与配置
  • 网络环境评估与规划:新增数据源之前,您需根据业务情况,打通数据源、独享数据集成资源组之间的网络,并进行交换机、白名单等网络环境下的访问配置。
    • 如果数据源和独享数据集成资源组均处于同地域的同一VPC网络中,数据源与资源组间的网络天然联通。
    • 如果数据源和独享数据集成资源组均处于不同的网络环境中,您需要通过VPN网关等方式,将数据源与资源组间的网络打通。
    详情请参见配置白名单
  • 查看当前使用的数据库版本是否为MySQL5.x8.x版本。您可以通过如下语句查看。
    select version();
    说明 DataWorks的数据集成实时同步MySQL数据是基于实时订阅MySQL Binlog实现的,实时同步MySQL数据目前仅支持配置MySQL数据源为RDS的5.x8.x版本的MySQL,不支持配置为DRDS的MySQL。如果当前使用的数据库版本不是RDS的5.x8.x版本的MySQL,请使用数据集成支持的RDS的5.x8.x版本,否则会导致数据集成任务无法执行。
  • 准备账号并授权:

    您需要规划一个可访问数据源的账号,用于后续数据集成过程中访问数据源并进行数据提取、写入的同步操作。

    详情请参见创建账号并配置账号权限
  • 开启MySQL Binlog:仅实时同步数据时需要开启MySQL Binlog。实时同步数据详细介绍请参见实时同步概述

    来源数据源为MySQL时,您需要开启Binlog。Binlog是记录所有数据库表结构变更(例如执行CREATE、ALTER操作)以及表数据修改(例如执行INSERT、UPDATE、DELETE等)的日志。方便您可以通过Binlog日志中的内容,查看数据库的变更历史、进行数据库增量备份和恢复以及主从数据库的复制。

    Binlog日志的格式如下:
    • Statement:基于SQL语句的复制。Binlog中会保存每条修改数据的SQL语句。
    • Row:基于行的复制。Binlog中不保存SQL语句上下文的相关信息,仅保存被修改的记录。
    • Mixed:混合模式复制。Statement与Row的结合,一般的语句修改使用Statment格式(例如函数),Statement无法完成复制的操作,则采用Row格式保存Binlog。MySQL会根据执行的每条SQL语句自主识别使用哪种格式。
    详情请参见开启MySQL的Binlog

使用限制

  • 数据集成不支持同步MySQL Binlog只读库实例的数据。
  • DataWorks的数据集成实时同步MySQL数据是基于实时订阅MySQL Binlog实现的,实时同步MySQL数据目前仅支持配置MySQL数据源为RDS的5.x8.x版本的MySQL,不支持配置为DRDS的MySQL。

配置MySQL Binlog输入

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 鼠标悬停至新建图标,单击数据集成 > 实时同步
    您也可以展开目标业务流程,右键单击数据集成,选择新建 > 实时同步
  3. 新建节点对话框中,输入节点名称,并选择目标文件夹
    注意 节点名称必须是大小写字母、中文、数字、下划线(_)以及英文句号(.),且不能超过128个字符。
  4. 单击提交
  5. 在实时同步节点的编辑页面,单击输入 > MySQL Binlog并拖拽至编辑面板。
  6. 单击MySQL Binlog节点,在节点配置对话框中,配置各项参数。
    输入
    参数 描述
    数据源 选择已经配置好的MySQL Binlog数据源,此处仅支持MySQL Binlog数据源。

    如果未配置数据源,请单击右侧的新建数据源,进入工作空间管理 > 数据源管理页面进行新建。

    选择当前数据源下需要同步的表名称。您可以单击右侧的数据预览进行确认。
    您可以实现分库分表的场景,配置的库和表会在该任务中同时进行实时同步。
    注意 分库分表中的数据表的Schema请保持一致,以避免执行报错。
    输出字段 选择需要同步的字段,包括管理字段数据字段
    • 管理字段:为方便进行数据管理、排序和去重等操作,会在同步的目标端自动添加附加字段。
    • 数据字段:显示要同步的原始表中对应的字段。

    详情请参见实时同步字段格式

    MySQL Binlog节点支持分库分表,您可以单击添加分库分表数据源,从下拉列表中选择相应的数据源,添加多个数据源,同时进行同步。
    注意 所选表的Schema需要保持一致,否则执行会报错。
  7. 单击工具栏中的保存图标。