MySQL集成至OSS

本文以自建MySQL数据库为例,为您介绍如何将MySQL的数据集成到阿里云对象存储OSS(Object Storage Service)的指定存储空间(Bucket)中。

前提条件

  • MySQL数据库已开通公网访问权限或已通过专有网络VPC接入到阿里云。

    说明

    通过专有网络VPCMySQL数据库接入到阿里云的方法,请参见VPC互通VPC与友商云互通

  • 已将DTSDMS服务器的IP地址段加入到相应数据库的安全设置(安全组规则、防火墙、白名单等)中。更多信息,请参见添加DTS服务器的IP地址段添加DMS IP地址

注意事项

  • 此功能正在公测中,公测期间不提供服务等级协议SLA保障。

  • 仅华东1(杭州)、华东2(上海)、华北2(北京)地域支持此功能。

  • 一个数据集成任务只支持集成一张数据表。

  • 创建Bucket、购买AnalyticDB MySQL 3.0集群、创建RAM用户以及登录DMS的租户所属的阿里云账号需为同一阿里云账号(主账号)。

准备工作

在配置数据集成任务之前,您需要先创建数据集成任务所需的Bucket、RAM用户和AnalyticDB MySQL 3.0集群。

说明

仅在需要将目标OSS实例的元数据存储在AnalyticDB MySQL 3.0集群时,需要购买AnalyticDB MySQL 3.0集群。

创建Bucket

  1. 登录OSS管理控制台

  2. 在左侧导航栏,单击Bucket 列表然后单击创建 Bucket

  3. 配置Bucket参数。

    1. 填入Bucket名称

    2. 地域选择为数据集成任务的地域。

    3. 读写权限选择为私有

    4. 根据实际情况,配置其他参数。

      更多信息,请参见创建有地域属性Bucket

  4. 参数配置完成后,单击完成创建

    根据提示完成后续操作。

  5. 创建目录。

    1. 单击Bucket 列表,然后单击目标Bucket名称。

    2. 在左侧导航栏,选择文件管理 > 文件列表

    3. 文件列表页面,单击新建目录

    4. 新建目录面板,输入目录名

      说明

      目录名的要求等信息,请参见管理目录

    5. 单击确定

创建RAM用户并授权

  1. 访问RAM用户列表,创建RAM用户。

    1. 单击创建用户

    2. 设置登录名称

      例如,填入dts_testuser

    3. 访问方式选择为使用永久 AccessKey 访问

    4. 单击确定

    5. RAM用户创建成功后,保存AccessKey IDAccessKey Secret信息。

  2. 完成授权。

    1. 返回RAM用户列表,单击目标RAM用户操作列的添加权限

    2. 选择权限策略。

      权限策略

      说明

      AliyunDTSFullAccess

      管理数据传输服务(DTS)的权限。

      AliyunOSSFullAccess

      管理对象存储服务(OSS)权限。

      说明

      您也可以授予RAM用户只读访问对象存储服务(OSS)的权限(即AliyunOSSReadOnlyAccess),并在OSS控制台的Bucket 授权策略页面对RAM用户进行授权。授权资源选择整个Bucket授权用户子账号中选择,授权操作选择完全控制读/写,具体操作请参见方式一:图形化配置Bucket Policy

    3. 单击确认新增授权

    4. 授权完成后,单击关闭

购买并配置AnalyticDB MySQL 3.0集群(可选)

  1. 购买AnalyticDB MySQL 3.0集群。

    更多信息,请参见创建集群

  2. 创建高权限账号。

    更多信息,请参见创建数据库账号

  3. 创建资源组。

    AnalyticDB MySQL 3.0集群创建资源组(任务类型需为Interactive,且引擎需为Spark),用于集成数据后的快速查询。

    更多信息,请参见新建资源组

操作步骤

步骤一:录入MySQL实例

  1. 登录数据管理DMS 5.0
  2. 在控制台首页左侧的数据库实例区域,单击新增实例add图标。

    说明

    您还可以通过在菜单栏中选择数据资产 > 实例管理,单击新增,进行新增实例操作。

  3. 新增实例页面,单击他云/自建页签。

    说明

    RDS MySQL实例录入DMS的方法,请参见云数据库录入

  4. 关系型数据库中单击MySQL,然后配置实例参数。

    类别

    配置项

    说明

    基本信息

    数据库类型

    选择MySQL

    实例来源

    选择公网

    说明

    若您的MySQL数据库已通过专有网络VPC接入到阿里云,则可以选择VPC专线,并根据实际情况配置相关参数。

    实例地区

    选择MySQL数据库所在的地域。

    登录地址

    填入MySQL数据库的公网地址。

    端口

    填入MySQL数据库的服务端口。

    访问方式

    选择安全托管-手动

    数据库账号

    填入MySQL数据库的登录账号,需具备待集成数据的SELECT权限。

    数据库密码

    填入该数据库账号对应的密码。

    说明

    其他参数可根据实际情况进行配置。更多信息,请参见他云/自建数据库录入

  5. 在页面下方,单击提交

步骤二:录入OSS实例

  1. 登录数据管理DMS 5.0
  2. 在控制台首页左侧的数据库实例区域,单击新增实例add图标。

    说明

    您还可以通过在菜单栏中选择数据资产 > 实例管理,单击新增,进行新增实例操作。

  3. 可选:新增实例页面,单击阿里云页签。

  4. 文件及日志中选择OSS,然后配置实例参数。

    类别

    配置项

    说明

    基本信息

    文件及日志

    选择OSS

    实例地区

    选择准备工作中创建的Bucket所在的地域。

    录入方式

    选择连接串地址

    连接串地址

    选择实例地区后,DMS会自动填入连接串地址。例如实例地区选择为华东1(杭州),连接串地址会自动填入oss-cn-hangzhou.aliyuncs.com

    Bucket(可选)

    选择准备工作中创建的Bucket。

    AccessKey ID

    填入准备工作中创建的RAM用户的AccessKey ID。

    AccessKey Secret

    填入准备工作中创建的RAM用户的AccessKey Secret。

    说明

    其他参数可根据实际情况进行配置。更多信息,请参见云数据库录入

  5. 在页面下方,单击提交

步骤三:录入AnalyticDB MySQL 3.0集群(可选)

说明

若您需要将目标OSS实例的元数据存储在AnalyticDB MySQL 3.0集群中,则需要执行此操作将AnalyticDB MySQL 3.0集群录入到DMS。

  1. 登录数据管理DMS 5.0
  2. 在控制台首页左侧的数据库实例区域,单击新增实例add图标。

    说明

    您还可以通过在菜单栏中选择数据资产 > 实例管理,单击新增,进行新增实例操作。

  3. 新增实例页面,单击阿里云页签。

  4. 数据仓库中选择AnalyticDB MySQL 3.0,然后配置实例参数。

    类别

    配置项

    说明

    基本信息

    数据库类型

    选择AnalyticDB MySQL 3.0

    实例地区

    选择AnalyticDB MySQL 3.0集群所在的地域。

    录入方式

    本示例选择实例ID

    实例ID

    选择AnalyticDB MySQL 3.0集群的ID。

    数据库账号

    填入AnalyticDB MySQL 3.0集群的高权限账号。

    数据库密码

    填入该数据库账号对应的密码。

    说明

    其他参数可根据实际情况进行配置。更多信息,请参见云数据库录入

  5. 在页面下方,单击提交

步骤四:配置数据集成任务

  1. 新增任务流。

    1. 登录数据管理DMS 5.0
    2. 在顶部菜单栏中,选择Data+AI > 数据开发 > 任务编排

      说明

      若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > Data+AI > 数据开发 > 任务编排

    3. 单击新增任务流,配置业务场景任务流名称后,单击确认

  2. 配置数据集成任务。

    1. 在画布左侧任务类型列表中,将数据集成中的入湖数据集成节点拖拽至页面右侧画布的空白区域。

    2. 双击画布区域的入湖数据集成节点。

    3. 配置源库及目标库信息。

      类别

      配置

      说明

      源库信息

      数据库类型

      选择MySQL

      接入方式

      本示例选择公网IP

      实例地区

      选择录入DMSMySQL实例所在的地域。

      DMS数据库实例

      选择录入DMSMySQL实例。

      目标库信息

      数据库类型

      固定为OSS

      接入方式

      固定为云实例

      实例地区

      选择录入DMSOSS实例所在的地域。

      DMS数据库实例

      选择录入DMSOSS实例。

      OSS Bucket

      选择接收数据的Bucket,即准备工作中创建的Bucket。

    4. 单击下一步对象配置

    5. 配置任务对象。

      配置

      说明

      目标OSS数据库集成格式

      请根据实际情况选择DeltaParquetHudi

      说明

      若选择为Hudi,则必须在已选择对象中右键单击待集成的表,以配置主键预合并键

      目标OSS数据库路径

      填入准备工作中在目标Bucket创建的目录。

      目标OSS元数据存储位置

      请根据实际情况选择OSS实例元数据(数据目录Catalog)的存储位置,以存储入湖数据集成的库、表、列等元数据信息。

      • DMS

        存储在DMS中。

      • AnalyticDB MySQL 3.0

        存储在AnalyticDB MySQL 3.0集群。此时,您还需在目标OSS元数据 AnalyticDB MySQL 3.0 实例选择录入到DMSAnalyticDB MySQL 3.0集群,在目标OSS元数据 AnalyticDB MySQL 3.0 实例阿里云账号ID填入高权限账号的RAM账号ID

        说明

        RAM账号ID可以在AnalyticDB MySQL 3.0集群的账号管理页面查看。

      • 不存储元数据。

      源库对象

      源库对象框中单击待集成的表,然后单击向右小箭头将其移动到已选择对象框。

      说明

      只支持选择单张表。

      已选择对象

      数据默认存储在目标Bucket/<目标OSS数据库路径>/<表名称>目录中。如需更改数据存储的子目录、设置条件过滤数据等,请在已选择对象框中右键单击该表,然后在编辑表对话框中配置表信息。配置信息,请参见配置说明

    6. 单击确认

  3. 配置完成后,单击下一步完成

  4. 运行数据集成任务。

    在页面左上角,单击试运行

    说明
    • 在页面下方的运行日志区域的返回信息中,如出现status SUCCEEDED,则表示运行成功;如出现status FAILED,则表示运行失败。

    • 如果运行失败,可以在运行日志区域查看执行失败的原因,修改配置后重新尝试。

  5. 检查输出。

    1. 登录OSS管理控制台

    2. 在左侧导航栏,单击Bucket 列表

    3. Bucket 名称文本框,输入准备工作中创建的Bucket并搜索。

      image

    4. 单击目标Bucket的名称。

    5. /<目标OSS数据库路径>/<表名称>目录中查看结果信息。

      说明

      <目标OSS数据库路径>为配置数据集成任务中配置的目标OSS数据库路径,<表名称>为待集成的表名称或配置说明中的表名称

配置说明

配置

说明

表名称

将会在目标Bucket中映射为存储数据的子目录。

过滤条件

本示例无需配置。配置过滤条件的更多信息,请参见设置过滤条件

本示例无需配置。您可以在目标列名设置对应列在目标Bucket的字段名称;或取消选中全表同步,然后勾选需要集成的列。

分区信息

本示例无需配置。您可以选择一个或多个列,作为目标Bucket中的分区键。

主键

数据以Hudi格式写入到目标Bucket时的主键(记录键)和预合并键。

说明
  • 目标OSS数据库集成格式选择为Hudi时,才有此配置项。

  • 主键支持选择一个或多个列,预合并键仅支持选择一个列。

预合并键