DataMover搞定 MySQL 实时同步

智迁 2026-01-11T21:36:46+08:00
0 0 4

本文将手把手教你使用 DataMover 免费版,通过图形界面完成 MySQL 到任意目标数据库的实时同步任务。无论目标是 PostgreSQL、Oracle、MySQL、达梦(DM)、人大金仓(KingBase)、高斯(GaussDB),还是 Elasticsearch,操作流程高度一致,只需 3步!

DataMover免费版,支持创建一个CDC任务,单任务支持同步150张表。

支持情况详见:数据源链路

一、环境准备

1.1 下载并安装 DataMover

1.2 启动服务

# Linux/macOS
manager/bin/start.sh
worker/bin/start.sh

# Windows
双击 manager/bin/start.bat 和 worker/bin/start.bat

1.3 登录 Web 控制台

  • 浏览器访问:http://localhost:8000
  • 默认账号:admin
  • 默认密码:admin123

✅ 提示:若部署在远程服务器,请确保 8000 端口开放。

二、通用操作流程(适用于所有目标端)

以下步骤中,仅“添加目标数据源”部分因目标类型不同而略有差异,其余完全一致。

步骤 1:添加 MySQL 源端数据源

  1. 左侧菜单点击 「数据源」→「新增」

  2. 数据源类型选择 「MySQL 数据库」

  3. 填写连接信息:

    • 名称:mysql-source(自定义)
    • 主机:192.168.1.100(你的 MySQL IP)
    • 端口:3306
    • 数据库名:mydb
    • 用户名/密码:具备 SELECT, REPLICATION CLIENT, REPLICATION SLAVE 权限
  4. 关键配置

    (CDC 必须):

    • 确保 MySQL 已开启 binlog,格式为 ROW,并设置唯一 server-id

    • 示例 my.cnf 配置:

      [mysqld]
      server-id=1
      log-bin=mysql-bin
      binlog-format=ROW
      
  5. 点击 「测试连接」 → 成功后 「保存」

步骤 2:添加目标数据源(按需选择)

▶ 场景 A:目标为 PostgreSQL

  • 类型选择:PostgreSQL
  • 主机/端口:5432
  • 数据库名、用户名、密码按实际填写
  • 测试连接 → 保存

▶ 场景 B:目标为国产数据库(如达梦)

  • 类型选择:达梦数据库(或 人大金仓 / GaussDB / OceanBase)
  • 填写对应 JDBC 连接参数(通常与 Oracle 兼容)
  • 注意:需提前在 lib/ 目录放入对应 JDBC 驱动(如 DmJdbcDriver18.jar
  • 测试连接 → 保存

▶ 场景 C:目标为 Elasticsearch

  • 类型选择:Elasticsearch
  • 填写:
    • 地址:http://es-host:9200
    • 索引名称前缀(如 mysql_sync_
    • 认证信息(如有)
  • 支持自动创建索引,字段类型自动推断
  • 测试连接 → 保存

▶ 场景 D:目标为另一 MySQL(主从/分发)

  • 类型选择:MySQL 数据库
  • 填写目标 MySQL 连接信息(无需 binlog 权限)
  • 测试连接 → 保存

步骤 3:创建实时同步任务

  1. 左侧菜单点击 「任务管理」→「新建任务」
  2. 基础配置:
    • 任务名称:mysql实时同步(自定义)
    • 源端数据源:选择刚创建的 mysql-source
    • 目标端数据源:选择对应目标(如 postgresql-target
    • 任务类型:「实时任务」(启用 CDC)
  3. 表映射:
    • 在左侧源表列表点击 「+」号
    • 勾选需要同步的表(如 user, order
    • 目标表可选择 “自动创建”“映射到已有表”
    • 字段自动匹配(支持手动拖拽调整)

⚠️ 注意:首次运行实时任务会先执行 全量快照,完成后自动切换至 增量 CDC

对于CDC任务不建议使用函数和字段映射,尽量保证源表和目标表数据一致。

步骤 4:启动任务并验证

  1. 保存任务后,返回任务列表

  2. 点击 「全部启动」(CDC 任务需整体启停)

  3. 进入任务详情页,查看:

    • 同步进度(已处理行数)
    • 错误日志(如有)

验证同步效果(任选其一):

  • INSERT:在源库插入一条记录 → 查看目标库是否出现
  • UPDATE:更新某字段 → 目标库对应记录是否变更
  • DELETE:删除记录 → 目标库是否同步删除
  • TRUNCATE:清空表 → 目标表是否重建或清空

步骤 5:日常运维

  • 停止:任务列表操作按钮
  • 重置任务:清除位点,重新全量 + 增量(用于表结构变更后)

三、支持的目标端一览

DataMover 免费版支持 35+ 种目标数据源,包括:

类别 支持目标
关系型数据库 PostgreSQL, Oracle, SQL Server, 达梦, 人大金仓, GaussDB, OceanBase
数据仓库 Doris, ClickHouse, Greenplum,
消息队列 Kafka, RabbitMQ,
搜索引擎 Elasticsearch
文件系统 HDFS, FTP, 本地文件

💡 所有目标端均通过 统一界面配置,无需修改代码。

四、结语

通过以上 5 个标准化步骤,你可以在 5 分钟内完成任意 MySQL 到目标系统的实时同步任务。DataMover 将复杂的 CDC 逻辑封装为 可视化操作,真正实现 “零编码、低门槛、高可靠” 的数据流动。

相关推荐
广告位招租

相似文章

    评论 (0)

    0/2000