跳到主要内容

PolarDB for MySQL

选择对端数据库:

数据链路

基本功能

功能说明
结构迁移

如目标不存在所选表,则自动根据源端元数据,结合映射生成对端创建语句并执行创建

全量数据迁移

逻辑迁移,通过顺序扫描表数据,将数据分批写入到对端数据库

增量实时同步

支持 INSERT, UPDATE, DELETE 常见 DML 同步

数据校验和订正

全量数据校验,并可选根据校验结果订正差异数据,支持定时,文档:创建定时校验订正任务

修改订阅

新增、删除、修改订阅表,支持历史数据迁移,文档:修改订阅

增量位点回溯

支持按照文件位点、时间戳 回溯位点,重新消费过去一段时间或指定 Binlog 文件和位点开始的增量日志

表名映射

支持 和源端保持一致, 转小写, 转大写, 以'_数字'后缀截取

DDL 同步
  • ALTER TABLE ADD COLUMN, DROP COLUMN, MODIFY COLUMN, CHANGE COLUMN
  • ADD INDEX
  • RENAME TABLE
  • CREATE TABLE(全库同步)
  • 表分区操作
  • 其他兼容 DDL
元数据检索

从源端表查对端,查询设置过过滤条件的,查询设置过对端主键的

高级功能

功能说明
增量写入冲突策略

IGNORE: 冲突则忽略(不做写入),REPLACE: 冲突则整行替换

0 值时间处理

支持将 0 值时间设置成不同类型的值,防止写入对端报错

Online DDL同步

支持 GH-OST, PT-OSC, Aliyun DMS Online DDL 同步,文档:支持 GH-OST 和 PT-OSC

定时全量迁移

文档1:创建定时全量任务
文档2:定时全量实现增量数据迁移

全库同步

支持源端新建、删除、修改表的 DDL 和数据同步,文档:创建全库同步任务

自定义代码

文档1:创建自定义代码任务
文档2:自定义代码任务 debug
文档3:在自定义代码中打日志

数据过滤条件

支持 WHERE 条件进行数据过滤,内容为 SQL 92 子集,文档:创建数据过滤任务

设置目标主键

变更主键为其他字段,方便数据聚合等操作

限制和注意点

限制项说明
字符集

支持 utf8, utf8mb4, latin1, 其他编码暂未测试


源端数据源

前置条件

条件说明
账号权限

云数据库读写账号或高权限账号

开启 Binlog

云数据实例详情 > 配置与管理 > 参数配置 > 设置 loose_polar_log_bin 为 true

PolarDbMySQL 字符集

支持 utf8, utf8mb4, latin1, 其他编码暂未测试

任务参数

参数名称说明
parseBinlogParallel

增量解析 Binlog 的并发数

parseBinlogBufferSize

用于增量解析 Binlog 的环形队列大小

maxTransactionSize

单事务最大数据条数,超过则分段刷出

limitThroughputMb

限制增量 Binlog 流量

extraDDL

兼容额外的 DDL 同步,包括 PT, GHOST, ALI_DMS, PT_GHOST

needJsonEscape

将 json 中特殊字符进行转义,以写入到对端

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
账号权限

云数据库 读写 权限账号或 高权限 账号

网络准备

迁移同步节点(sidecar)可连接 PolarDbMySQL 标准交互接口(如 3306)

任务参数

参数名称说明
keyConflictStrategy

增量写入遇到主键冲突策略:

  • IGNORE 冲突忽略(默认)
  • REPLACE 冲突替换(可选)

dstWholeReplace

将 INSERT 和 UPDATE 操作变成对端整行覆盖

mergeMaxInsertSize

当并行策略 mergeMaxInsertSize 为 TABLE_IMPORT_OPTIMIZE 时, 相同表单批最大合并变更数据条数(提升并行度)

Tips: 通用参数配置请参考 通用参数及功能

数据链路

基本功能

高级功能

限制和注意点

使用示例

链路FAQ

源端数据源

前置条件

任务参数

目标端数据源

前置条件

任务参数