跳到主要内容
版本:4.x

TDSQL (MySQL Edition)

适用版本 Cloud 功能TapData Cloud 为您提供了云端服务,适合需要快速部署、低前期投资场景,帮助您更好地专注于业务发展而非基础设施管理,注册账号即可领取免费的 Agent 实例,欢迎试用。 企业版功能TapData Enterprise 可部署在您的本地数据中心,适合对数据敏感性或网络隔离有严格要求的场景,可服务于构建实时数仓,实现实时数据交换,数据迁移等场景。 社区版功能TapData Community 是一个开源的数据集成平台,提供基础的数据同步和转换功能,可通过 Docker 一键部署,帮助您快速探索和实施数据集成项目。随着项目或企业发展,您可以平滑升级至 TapData Cloud 或 TapData Enterprise,以获得更多高级功能或服务支持。

TDSQL MySQL版(下文简称 TDSQL MySQL)是部署在腾讯云上的一种支持自动水平拆分、Shared Nothing 架构的分布式数据库。TapData 支持将 TDSQL MySQL 作为源或目标库来构建数据管道,快速实现数据上云或实时同步至其他数据库。

支持版本​

内核版本为 5.7、8.0

支持同步的操作​

  • DML:INSERT、UPDATE、DELETE

    提示

    将 TDSQL MySQL 作为同步的目标时,您还可以通过任务节点的高级配置,选择写入策略:插入冲突场景下,可选择转为更新或丢弃;更新失败场景下,可选择转为插入或仅打印日志。

  • DDL:ADD COLUMN、CHANGE COLUMN(不支持自增属性)、DROP COLUMN、RENAME COLUMN

准备工作​

连接 TDSQL MySQL 时,无论是作为源库还是目标库,均可参考以下步骤操作。此外,由于 TDSQL MySQL 实例默认已开启 binlog 功能,作为源库进行增量同步时无需额外配置。

  1. 访问 TDSQL 实例列表,在上方选择地域,然后单击目标实例ID。

  2. 创建账号并授权。

    1. 在实例管理页面,选择账号管理标签,单击创建账号。

    2. 在弹出的对话框,输入账号名、主机、密码等,确认无误后,单击确认,下一步。 主机名实际是网络出口地址,支持 % 的匹配方式,代表所有 IP 均可访问。

    3. 单击该账号右侧的修改权限,根据需求选择分配权限后,单击确定修改。 授权

      • 仅读取全量数据:授予待同步库的 SELECT 权限
      • 读取全量+增量数据:授予待同步库的 SELECT 权限,以及复制权限(REPLICATION SLAVE、REPLICATION CLIENT)
  3. 在实例详情页,单击外网地址区域框中的开启,跟随页面提示完成操作即可获得唯一的外网连接地址。

    获取外网连接地址

    提示

    如果 TapData 所属机器与 TDSQL MySQL 实例属于同一内网,可跳过本步骤。

连接 TDSQL MySQL​

  1. 登录 Tapdata 平台。

  2. 在左侧导航栏,单击连接管理。

  3. 单击页面右侧的创建。

  4. 在弹出的对话框中,搜索并选择 TDSQL(MySQL Edition)。

  5. 在跳转到的页面,根据下述说明填写 TDSQL MySQL 的连接信息。

    连接配置示例

    • 连接信息设置
      • 连接名称:填写具有业务意义的独有名称。
      • 连接类型:支持作为源或目标库。
      • 地址:数据库连接地址,即您在准备工作获取到的外网连接地址,如果 TapData 所属机器与 TDSQL MySQL 实例属于同一内网,可填写内网连接地址。
      • 端口:数据库的服务端口。
      • 数据库:数据库名称,即一个连接对应一个数据库,如有多个数据库则需创建多个数据连接。
      • 账号:具备高权限的账号名称。
      • 密码:数据库账号对应的密码。
      • 表名大小写敏感:该参数为新建分布式数据库 TDSQL MySQL 实例的初始化参数(默认为不敏感),请根据实例的配置填写。
      • 连接参数:额外的连接参数,默认为 useUnicode=yes&characterEncoding=UTF-8,请根据实例的配置填写,特别是实例的字符集设置。
      • 时区:时区配置默认为 0 时区。若设置为其他时区,会影响不带时区信息的字段(如 datetime)的数据同步。带时区的字段(如 timestamp、date 和 time )不受影响。
    • 高级设置
      • 共享挖掘:挖掘源库的增量日志,可为多个任务共享源库的增量日志,避免重复读取,从而最大程度上减轻增量同步对源库的压力,开启该功能后还需要选择一个外存用来存储增量日志信息。
      • 包含表:默认为全部,您也可以选择自定义并填写包含的表,多个表之间用英文逗号(,)分隔。
      • 排除表:打开该开关后,可以设定要排除的表,多个表之间用英文逗号(,)分隔。
      • Agent 设置:默认为平台自动分配,您也可以手动指定 Agent。
      • 模型加载时间:如果数据源中的模型数量少于10000个,则每小时更新一次模型信息。但如果模型数量超过10000个,则刷新将在您指定的时间每天进行。
      • 开启心跳表:当连接类型为源头或目标时,可启用该开关。TapData 会在源库创建 _tapdata_heartbeat_table 心跳表,并每 10 秒更新一次(需具备相应权限),用于监测数据源连接与任务的健康状况。心跳任务在数据复制/开发任务启动后自动启动,您可在数据源编辑页面查看心跳任务。
  6. 单击连接测试,测试通过后单击保存。

    提示

    如提示连接测试失败,请根据页面提示进行修复。

节点高级特性​

在配置数据同步/转换任务时,将 TDSQL MySQL 作为源或目标节点时,为更好满足业务复杂需求,最大化发挥性能,TapData 为其内置更多高级特性能力,您可以基于业务需求配置:

节点高级特性

  • 作为源节点:支持开启全量断点续传,在海量数据(记录数超过 1 亿)迁移场景下,可开启此功能,将数据分片并迁移,有效避免数据传输中断而导致的数据丢失和任务执行失败的问题,提高数据迁移的可靠性和效率。
  • 作为目标节点:可选择当表不存在时的建表类型,包含单表和分区表,关于表类型的更多介绍,见 TDSQL MySQL 官网文档。