MySQL数据源为您提供读取和写入MySQL双向通道的功能,方便您后续可以通过向导模式和脚本模式配置数据同步任务。本文为您介绍,配置数据源之前需要准备的网络环境及账号权限,以及在DataWorks中如何新增MySQL数据源。

前提条件

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

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

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

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

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

背景信息

标准模式的工作空间支持数据源隔离功能,您可以分别添加并隔离开发环境和生产环境的数据源,以保护您的数据安全。详情请参见数据源开发和生产环境隔离

如果您使用MySQL 8.0,需要使用独享数据集成资源组,资源组详情请参见新增和使用独享数据集成资源组

使用限制

  • DataWorks的数据集成实时同步MySQL数据是基于实时订阅MySQL实现的,实时同步MySQL数据目前仅支持配置MySQL数据源为RDS的5.x8.x版本的MySQL,不支持配置为DRDS的MySQL。
  • 不支持XA ROLLBACK,针对已经XA PREPARE的事务数据,实时同步会将其同步到目标端,如果XA ROLLBACK,实时同步不会针对XA PREPARE的数据做回滚写入的操作。若要处理XA ROLLBACK场景,需要手动将XA ROLLBACK的表从实时同步任务中移除,再添加表后重新进行全量数据初始化以及增量实时同步。

新增MySQL数据源

  1. 进入数据源管理页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据集成
    4. 在左侧导航栏,单击数据源 > 数据源列表,进入工作空间管理 > 数据源管理页面。
  2. 数据源管理页面,单击右上角的新增数据源
  3. 新增数据源对话框中,选择数据源类型为MySQL
  4. 新增MySQL数据源对话框中,配置各项参数。
    1. 配置数据源的基本信息。
      MySQL数据源包括阿里云实例模式连接串模式两种类型。
      • 以新增阿里云实例模式类型的数据源为例,配置数据源的基本信息。实例模式
        参数 描述
        数据源类型 当前选择的数据源类型为阿里云实例模式
        数据源名称 数据源名称必须以字母、数字、下划线(_)组合,且不能以数字和下划线(_)开头。
        数据源描述 对数据源进行简单描述,不得超过80个字符。
        适用环境 可以选择开发生产环境。
        说明 仅标准模式工作空间会显示该配置。
        地区 选择相应的地域。
        RDS实例ID 您可以进入RDS控制台,查看RDS实例ID。
        RDS实例主账号ID 实例购买者登录DataWorks控制台,鼠标悬停至右上角的用户头像,查看账号ID。
        默认数据库名
        此处配置的是该数据源对应的默认数据库名称。后续配置同步任务的说明如下:
        • 配置整库同步(包含实时和离线)或同步解决方案任务时,您可以选择相应RDS实例下所有具有权限的数据库。
        • 配置离线同步任务,当您选择使用多个数据库时,则每个数据库均需要配置一个数据源。
        用户名 登录数据库的用户名称。
        密码 登录数据库的密码。密码中避免使用@符号。
        说明 您需要先添加RDS白名单才可以与RDS数据库连接成功,详情请参见添加白名单
      • 以新增连接串模式类型的数据源为例,配置数据源的基本信息。JDBC
        参数 描述
        数据源类型 当前选择的数据源类型为连接串模式
        数据源名称 数据源名称必须以字母、数字、下划线(_)组合,且不能以数字和下划线(_)开头。
        数据源描述 对数据源进行简单描述,不得超过80个字符。
        适用环境 可以选择开发生产环境。
        说明 仅标准模式工作空间会显示该配置。
        JDBC URL JDBC连接信息,格式为jdbc:mysql://ServerIP:Port/Database。此连接串中的Database为本数据源的默认数据库,后续在配置同步任务时,您可以使用相应RDS实例下,所有当前用户有登录权限的数据库。
        说明 离线同步任务使用该数据源时默认访问本数据源的指定数据库。同步解决方案使用该数据源时可以读取对应实例下的所有数据库。
        用户名 登录数据库的用户名。
        密码 登录数据库的密码。
  5. 选择资源组连通性类型为数据集成
  6. 在资源组列表,单击相应资源组后的测试连通性
    数据同步时,一个任务只能使用一种资源组。您需要测试每个资源组的连通性,以保证同步任务使用的数据集成资源组能够与数据源连通,否则将无法正常执行数据同步任务。如果您需要同时测试多种资源组,请选中相应资源组后,单击批量测试连通性。详情请参见配置资源组与网络连通
    说明
    • (推荐)资源组列表默认仅显示独享数据集成资源组,为确保数据同步的稳定性和性能要求,推荐使用独享数据集成资源组。
    • 如果您需要测试公共资源组或自定义资源组的连通性,请在资源组列表右下方,单击更多选项,在警告对话框单击确定,资源组列表会显示可供选择的公共资源组和自定义资源组。
  7. 测试连通性通过后,单击完成