5分钟搞定 MySQL 到 TiDB 的数据同步

5分钟搞定 MySQL 到 TiDB 的数据同步
最新回答
菠萝草莓酱

2026-10-30 17:34:17

使用 CloudCanal 可在 5 分钟内完成 MySQL 到 TiDB 的数据同步,核心步骤包括准备工具、添加数据源、创建同步任务及启动同步流程。 以下是具体操作步骤:

一、准备 CloudCanal
  • SaaS 版:参考自建机器客户端安装流程。
  • 社区版:通过 Docker 快速部署,降低环境配置复杂度。
二、添加数据源
  1. 登录 CloudCanal 平台,进入数据源管理模块。
  2. 添加自建数据源:

    填写 MySQL 和 TiDB 的数据库信息,网络地址需包含端口号。

    示例配置界面如下:

  3. 验证配置:确保 MySQL 和 TiDB 数据源均成功添加并显示在列表中。

三、创建同步任务
  1. 进入任务管理:点击“新建任务”按钮。
  2. 配置源端和目标端:

    选择已添加的 MySQL 作为源端,TiDB 作为目标端。

    点击“测试连接”验证数据库连通性,并获取 schema 元信息。

  3. 选择同步范围:

    指定需要同步的源端和目标端 schema,支持多选。

    示例配置界面如下:

  4. 配置同步选项:

    同步类型:选择“数据同步”,并勾选“全量数据初始化”。

    资源规格:根据任务重要性和机器内存选择(如 2GB 内存规格)。

    DDL 同步:勾选后 CloudCanal 将同步常见的 CREATE TABLE、ALTER TABLE 等 DDL 操作,但不支持同时执行多个 DDL 语句。

    数据校验:勾选后任务会在同步完成后自动运行数据校验子任务,确保数据一致性。

    示例配置界面如下:

  5. 选择同步表和操作:

    勾选需要同步的表,若目标表不存在(显示为橙色),任务会自动创建表结构。

    选择需要同步的 INSERT、UPDATE、DELETE 操作(默认全选)。

    示例配置界面如下:

  6. 配置列映射和裁剪:

    通过勾选实现列映射(如源表列 col1 映射到目标表列 col2)和列裁剪(排除不需要同步的列)。

    示例配置界面如下:

  7. 确认任务配置:

    检查任务配置无误后,点击“确认创建”。若需延迟启动,可取消勾选“自动启动任务”。

    示例确认界面如下:

四、启动同步任务
  1. 任务阶段说明:

    结构迁移:自动创建目标端不存在的库表结构。

    数据初始化:全量迁移源端数据至目标端。

    数据同步:准实时同步增量数据,延迟控制在亚秒级。

    任务状态流转示例如下:

  2. 监控同步进度:

    通过任务管理界面查看各阶段状态,确保同步顺利完成。

    同步过程示例如下:

五、注意事项
  • DDL 兼容性:TiDB 不支持同时执行多个 DDL 语句,CloudCanal 已对此进行兼容处理。
  • 数据类型支持:TiDB 5.1 版本对 MySQL 8.0 的数据类型兼容性良好,但需确认具体类型是否支持。
  • 扩展需求:除 MySQL 到 TiDB 外,CloudCanal 社区版 1.0.2 还支持 Oracle 到 TiDB 的同步链路,更多需求可通过需求贴反馈。