You need to enable JavaScript to run this app.
文档中心
数据库传输服务

数据库传输服务

复制全文
下载 pdf
源为公有网络 MySQL
同步至火山引擎版 Milvus
复制全文
下载 pdf
同步至火山引擎版 Milvus
本场景介绍如何在数据库传输服务 DTS 控制台创建公网自建 MySQL 同步至火山引擎版 Milvus。
前提条件
  • 已在公网环境中自行搭建 MySQL,并创建数据库账号。
  • 已创建向量数据库 Milvus 版数据库实例。详细操作,请参见创建实例
  • 创建数据同步任务之前,请确认源库和目标库的网络连通性与服务可用性。
注意事项
  • 当源库为自建 MySQL 时,您需要关注以下信息:
  • 同步时,如果源库进行主备切换,会导致同步任务失败。
  • 在同步时如果源库执行了重启操作,同步任务会暂时中断并自动尝试修复。如果任务长时间没恢复,请提交工单联系技术支持。
  • 由于数据库传输服务 DTS 的延迟时间是根据同步到目标库最后一条数据的时间戳和当前时间戳对比得出,源库长时间未执行 DML 操作可能会导致延迟信息不准确。如果任务显示的延迟时间过大,您可以在源库执行一个 DML 操作来更新延迟信息。
  • 当同步对象为整库时,您可以创建心跳表,心跳表每秒定期更新或写入数据。
  • 在库表结构初始化过程中,数据库传输服务 DTS 会将源数据库中的外键同步到目标数据库。
  • 在全量初始化过程中,数据库传输服务 DTS 会以 Session 级别暂时禁用约束检查和外键级联操作。当任务运行时源库存在级联更新、删除操作时,可能会导致数据不一致。
  • 在全量初始化阶段,当目标库已存在同主键值或唯一值时,数据库传输服务 DTS 采用冲突覆盖策略,即源端的数据将会覆盖掉目标端的数据。
  • 在创建表结构时,请勿将主键名指定为 my_row_idbyte_rds_ai_uk_row_id,否则可能会导致该列数据过滤失败。
  • 目前该功能仅对华南 1(广州)、华东 2(上海)、华北 2(北京)和亚太东南(柔佛)地域开放。
  • Milvus 数据库支持 InsertUpsert 两种写入方式,更多信息,请参见 Milvus 主字段和自动识别。在同步数据时,InsertUpsert 两种写入方式的区别和适用场景如下。
  • Insert:使用 Insert 命令直接插入数据,适用于 Collection 开启 AutoID 且源端与目标端数据(含主键)一致的场景。当 DTS 重启或重复拉取数据时,可能会造成目标端数据冗余。
  • Upsert:使用 Upsert 命令直接插入数据或更新现有数据。适用于更新现有数据,Collection 未开启 AutoID,或 Collection 开启 AutoID 但业务或校验不依赖主键的场景。当 DTS 重启或重复拉取数据时,可能会导致主键不一致,影响依赖主键的业务或校验。
  • 同步过程中,请勿变更实例的配置,否则同步任务不成功。
  • 暂不支持同步开启 SSL 的实例。
  • 在同步过程中,如果源端有 CREATE TABLERENAME TABLE 操作,请在配置阶段选择同步对象时,勾选该表所在的整库或该表 RENAME 到的整库,否则新建的表或 RENAME 后的表不会同步到目标端。
使用限制
类型
说明
源库限制
  • 数据库版本:当前支持 5.5、5.6、5.7 和 8.0 的 MySQL 实例。
当 MySQL 实例的版本为 5.5 时,只支持结构同步和数据同步,不支持用户初始化。
  • 在源库的实例版本大于等于 5.6 时,gtid_modeenforce_gtid_consistency 取值均需为 ON
当 MySQL 的版本小于 8.0 且未开启参数 gtid_mode 时,可能会在数据同步过程中导致外键级联删除失败,从而造成数据差异。
  • 带宽要求:源库所属的服务器需具备足够出口带宽,否则将影响数据同步的速率。
  • 支持 InnoDB 数据库存储引擎,暂不支持 MariaDB 数据库引擎。
  • 待同步的表需具备主键或唯一非空约束,且字段具有唯一性,否则可能会导致数据不一致。
  • Binlog 日志的要求如下:
  • 需开启 Binlog 日志功能,且设置参数 binlog_formatrowbinlog_row_imagefull,否则预检查提示报错,且无法成功启动数据同步任务。
  • Binlog 日志至少要保留 24 小时,建议保留 7 天以上的日志,否则 DTS 可能因无法获取日志从而导致任务失败,某些情况下也可能导致数据丢失。
  • 涉及外键依赖的表,需要同时同步,否则将导致数据同步失败。
  • 单任务中表的数量建议不超过 2 万,库的数量不超过 1000 个。当有大量库表需要同步时,建议拆分为多个任务。
  • 源端数据库不支持配置多节点 Proxy 地址。在增量数据同步阶段,DTS 需与特定数据库实例建立稳定的长连接。多节点 Proxy 的负载均衡或路由机制可能引发连接漂移或日志解析失败问题。建议您直接配置单一节点的连接地址,或采用数据库网关(DG)进行接入。
目标库限制
Milvus 引擎版本为 2.5、2.6。
其他限制
  • 当前暂不支持 Role/User 权限同步。
  • 执行数据同步前需评估源库和目标库的性能,建议在业务低峰期执行数据同步。否则全量数据同步时 DTS 占用源和目标库一定的读写资源,可能会导致数据库的负载上升。
  • 在同步过程中,目标数据库可能会产生大量 Binlog 文件,因此导致目标库的磁盘使用量远远大于原实例的磁盘使用量。建议您在迁移前,修改目标数据库 Binlog 的保存策略,避免 Binlog 文件占用过多存储空间。
  • 有库表名映射的同步任务,存储过程同步、函数同步后映射不一定生效。
  • 当源库为 MySQL 8.0 版本时,在配置同步任务时,您需要手动对以下账号直接授予数据同步的相关权限:
  • 源库或目标库的账号是通过 Role 进行相关权限授权的。
  • 需要进行用户同步的账号是通过 Role 进行相关权限授权的。
  • 仅支持对表、视图、存储过程、函数、触发器和事件同步。
数据库账号账号最小权限策略
数据库
结构初始化
全量初始化
源库
SELECT 权限
SELECT 权限
目标库
Root 权限或授予 ClusterAdmin、DatabaseAdmin 和 CollectionAdmin 的 User 权限。
支持的同步架构
  • 一对一单向同步
  • 一对多单向同步
  • 多对一单向同步
  • 级联单向同步
关于数据库传输服务 DTS 支持的同步拓扑类型和使用说明,请参见数据同步拓扑
操作步骤
  1. 登录 DTS 控制台
  1. 在顶部菜单栏,选择项目和地域。
  1. 在左侧导航栏,单击数据同步
  1. 同步任务列表页面,单击创建任务
  1. 创建同步任务页面的配置源库及目标库配置向导页面,配置以下参数信息。
类别
参数
说明
基本信息
任务名称
(可选)自定义同步任务名称。长度需在 256 个字符内。
说明
若未进行设置,系统将按照命名规则,默认生成一个以 dts- 开头命名的任务。
链路规格
按需选择同步任务的链路规格,当前支持 CompactMediumStandard
说明
成功创建任务后,不支持修改任务的链路规格。关于链路规格的详细信息,请参见产品规格
同步拓扑
根据业务需要选择同步拓扑,当前支持单向同步双向同步
说明
双向同步当前仅支持 MySQL 5.6 及以上版本。关于同步拓扑的更多信息,请参见数据同步拓扑
源库配置
选择已有数据源
您可以按需选择是否使用已录入的实例:
  • 使用已录入实例:单击选择已有数据源,在选择数据源控制面板,从地域下拉列表中选择目标地域,然后选择目标数据源。支持通过数据源名称和 ID 选择数据源。关于数据源的创建方法,请参见数据源管理
  • 不使用已录入实例:如果不使用已录入的实例,那么您需要配置以下数据库实例信息。
实例类型
选择 MySQL
接入方式
选择公有网络 MySQL
说明
在同步公有网络 MySQL 实例时,您需要提前在源端的白名单或安全组策略中,添加 DTS IP 段的访问权限。单击查看 DTS IP 段查看和复制 IP 段。
地域
选择目标实例所属地域。
主机地址
输入目标库自建实例的主机地址。
端口
输入目标自建实例的端口号。
数据库账号
输入目标实例的数据库账号。
数据库密码
输入目标实例数据库账号对应的密码。
连接方式
按需选择非加密连接SSL 安全连接,建立更加安全可靠的同步链路。
说明
  • 当选择 SSL 安全连接时,您需提前开通公有网络 MySQL 实例的 SSL 加密功能。
  • 当同步任务选择非加密连接且任务正常运行时,开通了公有网络 MySQL 实例的 SSL 加密功能可能会导致非加密任务失败。
SSL 加密证书
单击上传 SSL 加密证书上传 CA 证书。当连接方式选择了 SSL 安全连接时,支持该配置。
测试连接
单击测试连接,验证是否成功连接实例。
当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:
  • 连接认证失败,请检查网络是否正常:当出现该报错提示时,请确认网络的连通性。
  • 连接认证失败,请检查用户名和密码是否正确:当出现该报错提示时,您需要确认用户名和密码的准确性。
  • 无效的 IP 地址:当出现该报错提示时,请确认 IP 地址的正确性。
目标库配置
选择已有数据源
当前暂不支持在数据源中录入 Milvus 相关实例信息,您需要配置以下数据库实例信息。
实例类型
选择 Milvus
接入方式
接入方式选择火山引擎版 Milvus
地域
按需选择目标实例的地域。
Milvus 实例
从下拉列表中选择目标实例,支持模糊搜索。
数据库账号
输入需要进行数据同步的数据库账号。
数据库密码
输入对应账号的密码。
测试连接
单击测试连接,验证是否成功连接实例。 当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:
  • 连接认证失败,请检查用户名和密码是否正确:当出现该报错提示时,您需要确认用户名和密码的准确性。
  • 连接认证失败,无法正常创建连接, 请联系客服:当出现该报错提示时,请提交工单联系技术支持。
Project 与计费
项目
(可选)从下拉列表中选择该任务所属项目,默认在 default(默认项目) 下。您也可以单击创建新项目,创建新的项目。详细操作,请参见新建项目
说明
  • 关于如何授予子用户访问指定项目下资源的权限操作步骤,请参见修改项目权限
  • 成功创建任务后,如果需要修改实例的所属项目,例如将任务从当前项目移入至其他项目,您可以将资源移入指定项目。
  • 项目是一个虚拟的概念,包括一组资源、用户和角色。通过项目可以对一组资源进行统一的查看和管理,并且控制项目内用户和角色对这些资源的权限。
标签
(可选)单击添加标签,为实例添加标签。标签可帮您实现云资源的分类、云资源的访问控制、账单与成本分摊等。标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选和聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述标签的键值对规则如下:
  • 支持任何语言、文字、数字、空格或符号(_.:/=+-@)。
  • 大小写敏感,且长度在 1~128 个字符内。
  • 使用 UTF-8 编码的 Unicode 格式。
  • 不支持设置以 volc: 开头的任何形式的 Key,例如 Volc:、VOLC: 等。
  • (可选)值
  • 支持任何语言、文字、数字、空格或符号(_.:/=+-@)。
  • 大小写敏感,且长度在 0~256 个字符内。
  • 使用 UTF-8 编码的 Unicode 格式。
说明
  • 支持模糊搜索选择已有标签键和标签值。
  • 单次最多可给任务绑定 20 个标签。单个任务最多可绑定 50 个标签。
  • 同一个资源拥有的标签 Key 不可重复,且一个标签 Key 只有一个值 Value。
计费方式
按需选择计费方式,当前支持按量计费包年包月两种计费方式。
说明
关于计费的详细信息,请参见计费说明
购买时长
按需选择包年包月的购买时长。
说明
计费方式选择包年包月时,支持设置购买时长,同时您还可以勾选到期自动续费,系统会在任务到期前自动续费。
  1. 单击下一步:配置同步对象
  1. 配置同步对象配置向导页面,配置以下参数信息。
参数
说明
同步类型
支持选择结构初始化全量初始化增量同步
向量化方式
按需选择向量生成的时机和执行方式,取值如下:
  • 将源列数据转换为向量类型:通过该方式,DTS 可以使用内置的 Embedding,自动调用大模型将 MySQL 中存储的原始文本数据转换为向量,然后写入 Milvus。适用于常规文本且希望快速落地 AI 应用,可以极大地缩短开发周期。
  • 源列数据已经完成向量化,直接进行同步:该方式下,业务系统已经在应用层或通过其他 ETL 工具,将文本计算成了高维浮点数数组(如 FLOAT_VECTOR),并将这些向量数据直接存储在了 MySQL 中。DTS 仅负责将这些已经生成好的向量数据及业务元数据,原样同步并写入到 Milvus 中。适用于高度定制化的向量化模型,或由于合规、性能等原因必须在业务系统内部完成向量化计算的场景。
同步起始点
设置从某个指定位点或时间点拉取 Binlog 日志,取值如下:
  • 系统默认:默认为任务启动时间点。
  • 指定 GTID:在输入框内输入指定的 GTID,格式为 source_id:transaction_id
  • 指定 GTID_EXECUTED:在输入框内输入指定的 GTID_EXECUTED,格式为 source_id:transaction_id,当存在多个时,可使用英文逗号(,)隔开。关于如何获取实例的 GTID_EXECUTED,请参见如何获取实例的 GTID_EXECUTED
  • 指定时间戳:选择日期,单击选择时间设置时间点,然后单击确定
说明
  • 同步类型勾选了全量初始化时,不支持此步骤。
  • GTID、GTID_EXECUTED 必须是源端合法的值,否则预检查时会报错。
  • 同步类型同时勾选了全量初始化增量同步时,同步起始点默认为当前时间点且不支持修改。
  • 当选择指定时间戳时,您设置的时间必须要晚于源端 Binlog 的最早时间。当没有对应时间 Binlog 时,则选取最接近 Binlog 的起点。
同步类型选择
选择需要同步的操作类型,当前支持同步 DML 和 DDL 操作语句。具体如下所示:
  • DML:当前支持 DELETEINSERTUPDATE,默认勾选全部 DML 操作语句,可按需调整。
  • DDL:暂不支持同步 DDL。
写入方式
按需选择数据写入方式,两种写入方式的区别和适用场景如下。
  • Insert:使用 Insert 写入数据时,Milvus 不检查目标端主键的唯一性,直接写入数据。Insert 写入方式适用于 Collection 开启 AutoID 且源端与目标端数据(含主键)一致的场景。当 DTS 重启或重复拉取数据时,可能会造成目标端数据冗余。
  • Upsert:使用 Upsert 写入数据时,Milvus 检查目标端是否已存在该主键,当不存在该主键时,直接写入;如果存在该主键,将删除原数据,然后写入新的数据。当 Collection 开启 AutoID 时,Milvus 忽略原数据的主键信息,并为其生成新的主键。Upsert 写入方式适用于更新现有数据,且 Collection 未开启 AutoID,或 Collection 开启 AutoID 但业务或校验不依赖主键的场景。当 DTS 重启或重复拉取数据时,可能会导致主键不一致,影响依赖主键的业务或校验。
增量同步依赖源端主键来实现幂等、更新和删除操作。因此,在增量同步场景下,建议目标 Collection 关闭 AutoID。若开启 AutoID,在发生重复消费、UPDATEDELETE 操作时,均可能无法保证数据的最终一致性。
同步对象
选择同步对象时,可通过普通搜索/全局搜索(均支持正则表达式)定位目标对象。在已选择对象区域,支持以下操作:
  1. 对象重命名与批量映射
  • 单对象重命名:点击库/表/列后的笔状图标,可修改目标库/表/列名。若同步对象为整库,仅支持修改库名,且无法展开数据库。
  • 批量映射:单击批量映射,可以批量修改库或表名,更多信息请参见库表批量映射
  1. 表字段向量化配置
在数据同步过程中,可将文本等非结构化数据实时转为向量,无需额外 ETL,即可在目标库直接支持AI语义搜索、相似推荐等场景。操作步骤:
  1. 单击表后的笔状图标,在编辑表控制面板页面,配置以下参数信息后:
  1. 配置参数:
  • 表名:按需自定义表的名称。
  • 列名:勾选目标列的向量化列,单击目标列前的➕ 图标,设置以下参数信息:
  • 向量化列名:自定义向量数据在目标库中存储的字段名称。
  • 向量类型:指定向量 FloatVector 的度量类型,取值包括 L2IPCOSINE
  • 向量索引类型:目标库中为该向量列创建的索引类型,直接影响查询性能,支持 AUTOINDEX 取值。
  • 是否保留原文:即是否在目标库中同时保留原始的文本字段。若选择保留原文,则会同时同步原始文本字段,便于后续进行混合搜索或结果展示;若选择不保留原文,则仅同步向量数据,但会节省存储空间。
  1. 单击确定
每张表最多支持 4 个向量化列。
  1. 对象筛选与删除
已选择对象区域的搜索框中,支持模糊搜索定位目标,批量删除不需要的库/表。
向量化配置
模型
在选择向量化方式将源列数据转换成向量类型时,支持配置向量化配置项。
从下拉列表中选择处理数据的模型,当前仅支持选择 Doubao-embedding-vision
新版本 Seed-1.6-embedding 图文多模态向量化模型全新上线,主要面向图文多模向量检索的使用场景,支持图片输入及中、英双语文本输入,最长 8K 上下文长度。
推理接入点
从下拉列表中选择调用大模型推理服务的入口,若没有合适的推理接入点,您可以自行创建,详细操作,请参见管理推理接入点。
API Key
输入用于调用大模型或应用时的鉴权凭证。关于如何获取 API Key 的详细操作,请参见管理 API Key
维度
从下拉列表中选择 Doubao-embedding-vision 多模态向量化模型的输出向量长度,取值包括 20481024,建议选择 2048,可保留更丰富的语义信息,适合优先追求检索效果的场景;1024 可降低存储、索引构建和查询资源开销,适合对性能、成本或超大规模数据更敏感的场景。实际检索效果建议结合业务数据评测后确定。
异常处理策略
按需设置在数据导入、字段映射或 ETL 过程中,遇到数据类型不匹配、长度超限或格式错误等异常情况时,系统的响应方式,取值如下:
  • TRUNCATE(截断):自动截取超长字符以适应字段长度。适用于非关键字段(如备注),注意可能导致信息丢失。
  • SKIP(丢弃字段):支持在可行时跳过异常字段并写入 NULL 值。需要注意的是,主键及非空(NOT NULL)字段不支持跳过,遇到此类异常时任务将报错失败。
  • FAIL(中断):遇到任何异常立即停止任务。适用于财务等核心业务,确保数据绝对准确,但需预先清洗数据。
高级配置
错误重试时间
在同步任务中,当源库和目标库断连后导致同步任务失败时,会立即在指定时间内多次重试连接源库和目标库。取值范围:600~86400,单位:秒(s)。默认值为 600 秒。
  1. 单击预检查
  1. (可选)当创建的任务已有预检查时,您可以根据以下提示确认是否重新发起预检查,当需要重新发起预检查时,请在是否重新发起预检查对话框,单击确定
  • 若源端和目标端的数据库实例未做修改,则无需再次发起预检查。
  • 如果修改了源端、目标端的数据库实例信息或同步任务的参数配置,那么建议您重新发起预检查,否则可能会导致任务启动失败或者任务中断。
  1. 预检查配置向导页面,根据检查结果执行以下操作:
  • 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试
  • 单击操作列的忽略,忽略本次告警继续启动同步任务。同时,也可以单击忽略全部,一键忽略全部告警信息。
  • 选择忽略告警并启动同步任务,可能导致数据不一致,带来业务风险。
  • 关于预检查的具体说明,请参见预检查项
  1. 预检查页面右下角,单击确认订单
  1. 根据创建任务的计费类型,选择配置方式:
  • 按量付费
  • 确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并意《数据库产品和服务条款》,然后单击创建并启动任务
  • 包年包月
  1. 确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务
  1. 确认订单信息配置向导页面,确认任务的计费信息。
  1. (可选)单击代金券兑换,在代金券兑换对话框,输入代金券兑换码后单击兑换
  1. (可选)在代金券区域,按需勾选可用代金券,单次仅支持选中一张,即可抵扣部分费用。也可不使用代金券。
  1. 单击下一步
  • 支付完成配置向导页面,显示支付成功则任务创建成功。
成功创建数据同步任务后,您可以返回 DTS 控制台,在数据同步任务列表查看数据同步任务的信息。
相关 API
API
描述
调用 CreateTransmissionTask 接口创建数据库传输服务任务。
调用 ModifyTransmissionTask 接口修改传输任务。
最近更新时间:2026.09.02 11:03:05
这个页面对您有帮助吗?
有用
有用
无用
无用