通过数据传输服务DTS(Data Transmission Service),可以实现MySQL同步至PolarDB MySQL引擎集群。
支持的源数据库
MySQL同步至PolarDB MySQL引擎集群,支持源数据库MySQL为以下类型。本文以RDS MySQL实例为例介绍配置流程,其他类型的源数据库配置流程与本案例类似。
- RDS MySQL实例。
- ECS上的自建数据库。
- 通过专线、VPN网关或智能网关接入的自建数据库。
- 通过数据库网关接入的自建数据库。
- 通过云企业网CEN接入的自建数据库。
前提条件
注意事项
| 类型 | 说明 |
|---|
| 源库限制 |
- 待同步的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标数据库中出现重复数据。
- 如同步对象为表级别,且需进行编辑(如表列名映射),则单次同步任务仅支持同步至多1000张表。当超出数量限制,任务提交后会显示请求报错,此时建议您拆分待同步的表,分批配置任务,或者调用DTS OpenAPI配置任务。
- Binlog日志:
- 需开启Binlog,开启方法请参见设置实例参数,并且binlog_format为row、binlog_row_image为full。否则预检查阶段提示报错,且无法成功启动数据同步任务。
注意 如源实例自建MySQL是双主集群(两者互为主从),为保障DTS能获取全部的Binlog日志,则您需开启参数log_slave_updates。
-
如为增量同步任务,DTS要求源数据库的本地Binlog日志保存24小时以上,如为全量同步和增量同步任务,DTS要求源数据库的本地Binlog日志至少保留7天以上(您可在全量同步完成后将Binlog保存时间设置为24小时以上),否则DTS可能因无法获取Binlog而导致任务失败,极端情况下甚至可能会导致数据不一致或丢失。由于您所设置的Binlog日志保存时间低于DTS要求的时间进而导致的问题,不在DTS的SLA保障范围内。
|
| 其他限制 |
|
| 特殊情况 | 当源库为自建MySQL时
|
·····
更多内容可见:https://help.aliyun.com/document_detail/345664.htm?spm=a2c4g.11186623.0.0.100e7471Hapae1#task-2067485