跳到主要内容

PolarDb for MySQL

支持的对端数据源及功能

请选择对端数据源,文档相关内容会根据对端数据源不同而调整。

选择对端:

核心能力

功能MySQL
结构迁移

全量数据迁移

增量实时同步

数据校验

数据订正

DDL实时同步

增/减列

  • 增/减索引
  • 修改列
  • 重命名列
  • 表分区操作
  • 重命名表
  • 创建表

使用限制与注意点

说明
有限的存储引擎支持

不支持除InnoDB以外的存储引擎

地理信息类型兼容

不支持地理信息类型

数据迁移与同步
  • utf8、utf8mb4、latin以外的字符集未验证
  • 待同步的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标数据库中出现重复数据,例如无主键表的迁移与同步
  • 建议源和目标库版本保持一致,或者从低版本同步到高版本以保障兼容性。如为高版本同步至低版本,可能存在数据库兼容性问题。
  • 执行数据同步前需评估源库和目标库的性能,同时建议业务低峰期执行数据同步。否则全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升。
  • 全量初始化会并发执行INSERT操作,导致目标数据库的表产生碎片,因此全量初始化完成后目标实例的表空间比源实例的表空间大。

字段类型与映射

PolarDb for MySQLMySQL
BIGINTBIGINT
BINARYBINARY
BITBIT
BLOBBLOB
CHARCHAR
DATEDATE
DATETIMEDATETIME
DECIMALDECIMAL
DOUBLEDOUBLE
ENUMENUM
FLOATFLOAT
GEOMCOLLECTIONGEOMCOLLECTION
GEOMETRYGEOMETRY
GEOMETRYCOLLECTIONGEOMETRYCOLLECTION
INTINT
JSONJSON
LINESTRINGLINESTRING
LONGBLOBLONGBLOB
LONGTEXTLONGTEXT
MEDIUMBLOBMEDIUMBLOB
MEDIUMINTMEDIUMINT
MEDIUMTEXTMEDIUMTEXT
MULTILINESTRINGMULTILINESTRING
MULTIPOINTMULTIPOINT
MULTIPOLYGONMULTIPOLYGON
POINTPOINT
POLYGONPOLYGON
SETSET
SMALLINTSMALLINT
TEXTTEXT
TIMETIME
TIMESTAMPTIMESTAMP
TINYBLOBTINYBLOB
TINYINTTINYINT
TINYTEXTTINYTEXT
VARBINARYVARBINARY
VARCHARVARCHAR
YEARYEAR

必要条件

必要条件说明
账号权限全量迁移:迁移库表的 SELECT 权限,information_schema SELECT 权限
增量同步:SELECT ,REPLICATION SLAVE,REPLICATION CLIENT 权限,information_schema SELECT 权限

例:grant SELECT ,REPLICATION SLAVE,REPLICATION CLIENT on testdb.* to common_user@'%'
开启binnlog订阅增量需开启binlog

常用源端任务参数

参数名称说明
dbHeartbeatEnable默认为false,设置为true允许CloudCanal定时向源端执行dbHeartbeatOp参数指定的SQL,从而避免源端实例没有任何变更时,增量任务会延迟的问题。
filterDDL设置为true时将不会同步源端产生的DDL SQL
srcTimeZone支持自定义时区处理。如果该值不为空则会在接受到的时间对象上按照设置的值增加或者减少x个小时,其中x范围是-12~+12
needJsonEscape如果源端json类型的字段值中包含特殊字符导致写入对端失败,可以开启json转义功能对特殊字符进行转义

Tips: 所有数据源均有的通用参数配置请参考 通用参数配置