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

数据库传输服务

复制全文
下载 pdf
源为火山引擎版 MySQL
同步至火山引擎版 PostgreSQL
复制全文
下载 pdf
同步至火山引擎版 PostgreSQL
本场景介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 MySQL 同步至火山引擎版 PostgreSQL 任务。​
前提条件​
  • 创建数据同步任务之前,请确认源库和目标库的网络连通性与服务可用性。​
注意事项​
  • DDL 限制:执行 DDL 前须确认其属于支持的 SQL 操作中;否则应先暂停任务并按产品流程处理。若不支持的 DDL 已进入增量链路,任务将失败且位点不会越过该事件。​
  • 同步对象与方向:​
  • 当前仅支持创建单向数据同步任务。​
  • 可选择的同步对象: 支持按 MySQL 数据库、表和列选择同步范围。​
  • 结构初始化对象: 选择结构初始化后,DTS 会在支持范围内同步主键、唯一键、普通索引、CHECK 约束、外键、注释等表结构对象。​
  • 数据一致性与写入建议:无主键或唯一键的表支持同步,但不保证精确一次;对去重和精准更新要求高的业务,建议为表补齐主键或唯一键。​
  • 性能与资源评估:对于 LONGTEXT、LONGBLOB、大事务或高写入量场景,建议先评估同步耗时、网络带宽和目标端磁盘占用。​
  • 名称映射:支持将源端 MySQL 的数据库映射为目标端 PostgreSQL 的 schema,同时支持表名和列名映射。若源表的主键列或唯一键列参与列名映射,则映射后的目标列仍须完整构成同一组非空主键或唯一键。​
  • 高权限账号:目标 PostgreSQL 数据库必须在创建同步任务前预先创建。目标端账号具备创建 Schema 的权限时,DTS 可在已连接的目标 Database 中自动创建映射后的 Schema;如果账号不具备该权限,请在启动同步任务前手动创建目标 Schema。DTS 不会自动创建 PostgreSQL Database。​
  • DTS 重放 CREATE TABLE 语句时,会校验目标端已有表的结构。请确保目标表的字段和数据类型满足同步要求。对于源端包含主键或唯一键的表,目标表必须存在由映射后相同列集合构成的主键或唯一键,且所有键列均不能为空;否则,DTS 将拒绝增量写入,任务会报错。​
使用限制​
​
类型​
说明​
源库限制​
  • 数据库版本:当前支持 5.7 和 8.0 的 MySQL 实例。​
  • 带宽要求:源库所属的服务器需具备足够出口带宽,否则影响同步速率。​
  • 实例 ID:server_id 需大于 0。​
  • GTID 要求:源库版本 ≥ 5.6 时,gtid_mode 和 enforce_gtid_consistency 均需为 ON,否则任务将启动失败。​
  • Binlog 日志要求:​
  • 必须开启 Binlog,参数 binlog_format 设为 row,binlog_row_image 设为 full。​
  • 保留时间需覆盖全量初始化、增量追平和故障恢复所需时间,否则可能导致任务失败或数据丢失。​
目标库限制​
  • 数据库版本:支持 PostgreSQL 11 至 17 版本。​
  • 状态与编码:需处于可写状态,建议使用 UTF-8 编码。​
  • 账号权限:如需同步表、列或索引注释,目标端账号需具备对应对象所有权。​
  • 资源预留:预留足够连接数和磁盘空间,用于全量初始化和增量追平。​
DDL 使用限制​
  • 表结构初始化:结构初始化可同步受支持且引用对象均在任务范围内的外键;不满足条件的外键需按兼容性规则处理。目标对象应称为 Schema/表,而不是目标数据库。​
  • 全量/增量过程:同步过程不会默认关闭目标 PostgreSQL 的外键、触发器或级联行为,目标端既有约束可能导致写入失败或改变执行结果。​
  • 建表/重命名表:​
  • 对于 CREATE TABLE 操作,创建同步任务时需选择新建表所属的整个数据库,否则新建的表不会自动加入同步任务。​
  • 对于 RENAME TABLE 操作,当前仅支持单表重命名。重命名前后的表均须属于任务的同步对象范围,并且必须映射至目标端的同一个 Schema。​
  • 如果 RENAME TABLE 涉及二级索引等无法安全转换的对象,DTS 将拒绝执行该操作。​
  • 不支持在线改表工具:暂不支持 gh-ost、pt-online-schema-change 等在线改表工具,以及这些工具产生的影子表、切换表和清理表。如果相关 DDL 或 DML 操作进入同步链路,目标端将不会执行该操作,任务的同步进度也不会继续推进,并会在该操作处报错失败。任务运行期间,请勿在源库中使用此类在线改表工具。​
​
支持的同步架构​
  • 一对一单向同步:单个任务实现。​
  • 一对多单向同步:通过多个独立任务组合实现。​
  • 多对一单向同步:通过多个独立任务组合实现。​
  • 级联单向同步:通过多个独立任务串联实现。​
关于 DTS 支持的同步拓扑类型和使用说明,请参见数据同步拓扑。​
支持的 SQL 操作​
​
操作类型​
SQL 操作语句​
DML​
INSERT、UPDATE、DELETE​
DDL​
  • 创建表: CREATE TABLE,其中默认值支持字面量和 CURRENT_TIMESTAMP。​
  • 修改列:​
  • ALTER TABLE ... ADD COLUMN​
  • ALTER TABLE ... DROP COLUMN​
  • ALTER TABLE ... MODIFY COLUMN​
  • ALTER TABLE ... CHANGE COLUMN​
  • ALTER TABLE ... ALTER COLUMN ... SET/DROP DEFAULT​
  • 索引:CREATE INDEX、DROP INDEX、ALTER TABLE ... ADD/DROP/RENAME INDEX​
  • 键约束:​
  • ALTER TABLE ... ADD/DROP PRIMARY KEY​
  • ALTER TABLE ... ADD/DROP FOREIGN KEY​
  • 注释: 支持表注释、列注释和索引注释。​
  • 删除及重命名表: DROP TABLE、单表 RENAME TABLE。​
  • 其他支持项: ENGINE、ROW_FORMAT、LOCK、ALGORITHM。​
仅支持上述 DDL 形式及其兼容子语法,不表示支持 CREATE、ALTER、DROP、RENAME 等语句的全部用法。​
​
数据库账号最小权限策略​
​
数据库​
结构初始化​
全量初始化​
增量同步​
源库​
SELECT 权限​
SELECT 权限​
REPLICATION SLAVE、REPLICATION CLIENT 和 SELECT 权限。​
目标库​
需具备目标 Schema 的建表、修改表、写入数据和读取元数据权限。如需同步表、列或索引注释,还需具备对应对象的所有权。​
​
​
​
操作步骤​
  1. 登录 DTS 控制台。​
  1. 在顶部菜单栏,选择项目和地域。​
  1. 在左侧导航栏,单击数据同步。​
  1. 在数据同步列表页面,单击创建任务。​
  1. 在创建同步任务页面的配置源库及目标库配置向导页面,配置以下参数信息。​
​
参数​
​
说明​
基本信息​
任务名称​
(可选)自定义同步任务名称。长度需在 256 个字符内。​
说明​
若未进行设置,系统将按照命名规则,默认生成一个以 dts- 开头命名的任务。​
​
链路规格​
按需选择同步任务的链路规格,当前支持 Compact、Medium 和 Standard。​
说明​
成功创建任务后,不支持修改任务的链路规格。关于链路规格的详细信息,请参见产品规格。​
​
同步拓扑​
根据业务需要选择同步拓扑,当前仅支持单向同步。​
说明​
关于同步拓扑的更多信息,请参见数据同步拓扑。​
源库配置​
​
选择已有数据源​
您可以按需选择是否使用已录入的实例:​
  • 使用已录入实例:单击选择已有数据源,在选择数据源控制面板,从地域下拉列表中选择目标地域,然后选择目标数据源。支持通过数据源名称和 ID 选择数据源。关于数据源的创建方法,请参见数据源管理。​
  • 不使用已录入实例:如果不使用已录入的实例,那么您需要配置以下数据库实例信息。​
​
实例类型​
选择 MySQL。​
​
接入方式​
选择火山引擎版 MySQL。​
​
地域​
选择目标实例所属地域。​
​
是否跨火山引擎账号​
按需选择是否跨账号传输数据,取值如下:​
  • 本账号:选择本账号时,表示仅在本账号内实现数据传输。​
  • 跨账号:选择跨账号时,表示将实现两个账号间的数据传输。​
  • 在进行跨账号传输数据时,您需要通过目标端所在的账号登录 DTS 控制台。​
​
跨账号 ID​
输入源库所属的火山引擎账号 ID。​
​
跨账号角色​
输入已授权 DTS 访问跨账号资源的 IAM 角色。​
​
MySQL 实例​
在下拉列表中选择云数据库版 MySQL 的目标实例。​
说明​
您也可以通过实例 ID 或名称搜索目标实例。​
​
节点类型​
按需选择节点类型,当前支持选择主节点和只读节点。​
说明​
当实例内创建了只读节点时,支持选择只读节点。关于创建只读节点的详细操作,请参见只读节点概述。​
​
MySQL 只读节点​
从下拉列表中选择目标只读节点。​
说明​
在实例中创建了只读节点,且节点类型选择只读节点时,支持配置此参数。​
​
数据库账号​
输入目标实例的数据库账号。​
​
数据库密码​
输入目标实例数据库账号对应的密码。​
​
测试连接​
单击测试连接,验证是否成功连接实例。 当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:​
  • 连接认证失败,请检查用户名和密码是否正确:当出现该报错提示时,您需要确认用户名和密码的准确性。​
  • 连接认证失败,无法正常创建连接, 请联系客服:当出现该报错提示时,请提交工单联系技术支持。​
目标库配置​
选择已有数据源​
您可以按需选择是否使用已录入的实例:​
  • 使用已录入实例:单击选择已有数据源,在选择数据源控制面板,从地域下拉列表中选择目标地域,然后选择目标数据源。支持通过数据源名称和 ID 选择数据源。关于数据源的创建方法,请参见数据源管理。​
  • 不使用已录入实例:如果不使用已录入的实例,那么您需要配置以下数据库实例信息。​
​
实例类型​
选择 PostgreSQL。​
​
接入方式​
选择火山引擎版 PostgreSQL。​
​
地域​
选择目标实例所属地域。​
​
PostgreSQL 实例​
在下拉列表中选择云数据库版 PostgreSQL 的目标实例。​
说明​
您也可以通过实例 ID 或名称搜索目标实例。​
​
数据库名称​
输入数据库名称。​
​
数据库账号​
输入目标实例的数据库账号。​
​
数据库密码​
输入目标实例数据库账号对应的密码。​
​
测试连接​
单击测试连接,验证是否成功连接实例。​
当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:​
  • 连接认证失败,请检查用户名和密码是否正确:当出现该报错提示时,您需要确认用户名和密码的准确性。​
  • 连接认证失败,无法正常创建连接, 请联系客服:当出现该报错提示时,请提交工单联系技术支持。​
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 会将源实例中待同步对象的数据在目标实例中初始化,作为后续增量同步数据的基础。​
  • 若需要进行不停机同步,可以同时勾选结构初始化、全量初始化和增量同步。​
同步起始点​
​
设置从某个指定位点或时间点拉取 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:当前支持 DELETE、INSERT、UPDATE,默认勾选全部 DML 操作语句,可按需调整。​
  • DDL:默认同步所有受支持的 DDL 操作。您也可以单击自定义 DDL,按需选择需要同步的 DDL 类型。若任务运行期间捕获到不支持的 DDL,目标端不会执行该操作,任务的同步进度将停止推进,同时任务报错。关于 DTS 在数据同步时支持的 DDL 操作语句,请参见支持同步的 SQL 操作。​
同步对象​
​
​
在同步对象区域中勾选需要同步的对象,您可以在已选择对象区域中确认需要同步的对象。​
  • 设置 Schema、表或列映射:单击目标库、表后的笔状图标,重命名库、表。如果在同步对象区域勾选了整库,则在已选择对象区域仅支持修改库名,且不支持展开该数据库。单击批量映射,可以批量修改库或表名,更多信息请参见库表批量映射。​
  • 筛选删除不需要的目标:在已选择对象区域的搜索框内支持模糊搜索,批量删除不需要的数据库、表等目标。​
  • 过滤表内数据:勾选过滤数据,可以实现对表内数据的过滤。​
说明​
  • 若预计后续将新增表,优先选择整库同步;若仅同步部分表,请确认新建表不会被自动纳入当前任务。​
  • 当前仅支持库、表及列级同步。​
  • 支持将源端 MySQL Database 映射为目标端 PostgreSQL Schema,同时支持表名和列名映射。若主键或唯一键列参与列映射,则映射后的目标列仍需构成同一组非空主键或唯一键。​
过滤条件​
​
在开启过滤条件时,可以在全量数据扫描阶段即开始过滤数据,进而提高同步性能,您可以在表的过滤条件列,设置过滤条件,然后单击校验语句,验证是否满足过滤条件。​
说明​
  • 该功能当前属于邀测阶段,如需使用可提交工单联系技术支持。​
  • 当同步对象的库、表勾选了过滤数据,才支持配置此字段。​
  • 过滤条件当前支持 =、!=、<、>、<=、>=、in、is null、and 和 or 操作符。​
高级配置​
错误重试时间​
在同步任务中,当源库和目标库断连后导致同步任务失败时,会立即在指定时间内多次重试连接源库和目标库。取值范围:600~86400,单位:秒(s)。前端默认值为 600 秒。​
​
全量同步速率​
按需设置全量同步速率。防止在同步速率过高时,影响源库的性能,您可以根据源库和目标库的读写压力情况适当调整以下参数:​
  • 每秒同步的行数:按需开启并设置每秒同步的行数。默认值 100000,取值范围 1~100000。​
  • 每秒同步的数据量:按需开启并设置每秒同步的数据量。默认值 25000,取值范围 1~100000,单位 KB。​
  • 同步任务并发数:按需设置同步任务的并发数。默认值 8,取值范围 1~64。​
说明​
  • 在同步类型选择全量初始化时,支持配置该参数。​
  • 当同步速率过高时,可能会影响源库性能,请根据源和目标库的读写压力情况适当调整。​
​
  1. 单击预检查。​
  1. (可选)当创建的任务已有预检查时,您可以根据以下提示确认是否重新发起预检查,当需要重新发起预检查时,请在是否重新发起预检查对话框,单击确定。​
  • 若源端和目标端的数据库实例未做修改,则无需再次发起预检查。​
  • 如果修改了源端、目标端的数据库实例信息或同步任务的参数配置,那么建议您重新发起预检查,否则可能会导致任务启动失败或者任务中断。​
  1. 在预检查配置向导页面,根据检查结果执行以下操作:​
  • 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。​
  • 单击操作列的忽略,忽略本次告警继续启动同步任务。同时,也可以单击忽略全部,一键忽略全部告警信息。​
  • 选择忽略告警并启动同步任务,可能导致数据不一致,带来业务风险。​
  1. 在预检查页面右下角,单击确认订单。​
  1. 根据创建任务的计费类型,选择配置方式:​
  • 按量付费​
  • 在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。​
  • 包年包月​
  1. 在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。​
  1. 在确认订单信息配置向导页面,确认任务的计费信息。​
  1. (可选)单击代金券兑换,在代金券兑换对话框,输入代金券兑换码后单击兑换。​
  1. (可选)在代金券区域,按需勾选可用代金券,单次仅支持选中一张,即可抵扣部分费用。也可不使用代金券。​
  1. 单击下一步。​
  • 在支付完成配置向导页面,显示支付成功则任务创建成功。​
成功创建数据同步任务后,您可以返回 DTS 控制台,在数据同步任务列表查看数据同步任务的信息。​
相关 API​
​
API​
描述​
调用 CreateTransmissionTask 接口创建数据库传输服务任务。​
调用 ModifyTransmissionTask 接口修改传输任务。​
​
最近更新时间:2026.10.14 15:42:58
这个页面对您有帮助吗?
有用
有用
无用
无用