# 三分钟构建第一个任务

这篇文档只做一件事:帮助你用免费版跑通第一个数据同步任务。新版本安装后即可使用免费版,无需定期申请授权码。

建议先用两张小表验证链路,不要一开始就迁移生产大表。第一个任务跑通后,再根据数据量、字段类型、调度方式和 CDC 要求扩展到真实项目。

# 你会完成什么

完成本文后,你会得到一个可运行的普通同步任务:

  1. 启动 DataMover。
  2. 登录 Web 控制台。
  3. 添加源端数据源。
  4. 添加目标端数据源。
  5. 选择源表并配置字段映射。
  6. 启动任务并查看执行结果。
  7. 用 SQL 对目标库做一次基础校验。

# 第 1 步:启动 DataMover

推荐优先使用 Docker 部署。服务器已安装 Docker 时,执行一条命令即可启动 Manager、Worker 和元数据库。

macOS / Linux:

curl -fsSL https://down.datamover.cn/install.sh | bash

Windows PowerShell:

Set-ExecutionPolicy Bypass -Scope Process -Force; irm https://down.datamover.cn/install.ps1 | iex

首次启动需要等待 MySQL 初始化和系统建表,一般需要 3-5 分钟。启动完成后访问:

http://服务器IP:8000

本机部署可以访问:

http://localhost:8000

默认账号:

项目 默认值
用户名 admin
密码 admin123

如果不能访问页面,先查看 Docker 部署常见问题-安装部署

# 第 2 步:准备两端数据库

第一个任务建议使用测试库或样例表。源库准备一张有主键的小表,目标库准备一个空库或测试 schema。

示例源表:

CREATE TABLE dm_demo_user (
  id BIGINT PRIMARY KEY,
  username VARCHAR(64),
  phone VARCHAR(32),
  updated_at TIMESTAMP
);

INSERT INTO dm_demo_user (id, username, phone, updated_at) VALUES
(1, 'alice', '13800000001', CURRENT_TIMESTAMP),
(2, 'bob', '13800000002', CURRENT_TIMESTAMP),
(3, 'carol', '13800000003', CURRENT_TIMESTAMP);

源端账号至少需要读取表结构和读取数据的权限。目标端账号至少需要建表、写入和更新数据的权限。正式项目中请使用专门的同步账号,不建议直接使用管理员账号。

# 第 3 步:添加源端数据源

进入 数据源 页面,点击 新增

按页面表单填写连接信息:

配置项 说明
数据源名称 例如 mysql_source_demo
数据源类型 选择实际数据库类型,例如 MySQL、PostgreSQL、SQL Server
连接地址 / 端口 数据库服务地址和端口
数据库名 要读取的库或 schema
用户名 / 密码 源端同步账号
数据源角色 选择源端,或源端和目的端

填写后点击 测试连接。测试通过后保存。

新增数据源

# 第 4 步:添加目标端数据源

继续在 数据源 页面新增目标库连接。

目标端需要重点确认三件事:

检查项 为什么重要
写入权限 没有写入权限会导致任务启动后失败
建表权限 需要自动建表时必须具备建表权限
字符集和字段长度 字符集或长度不匹配可能导致写入失败

保存前同样点击 测试连接。源端和目标端都测试通过后,再创建任务。

# 第 5 步:创建普通同步任务

进入 任务管理,点击 新建任务

按顺序完成配置:

  1. 填写任务名称,例如 demo_mysql_to_mysql
  2. 任务类型选择 普通任务
  3. 选择刚才添加的源端数据源。
  4. 选择刚才添加的目标端数据源。
  5. 点击 下一步 进入表映射。

进入表映射页面后:

  1. 在左侧源端树选择要同步的表。
  2. 选择或填写目标表名。
  3. 进入字段映射,检查字段是否自动匹配。
  4. 如果字段名或字段类型不一致,手动调整目标字段。
  5. 保存表映射。
  6. 根据需要配置同步策略和调度规则。
  7. 点击完成。

创建普通任务

# 第 6 步:启动并查看结果

回到任务列表或任务详情页,点击 启动,选择在线的执行节点。

启动后重点看三个地方:

位置 看什么
任务状态 是否执行中、成功或失败
采集/输出行数 读取行数和写入行数是否符合预期
执行历史 每次执行的开始时间、结束时间和错误信息

如果任务失败,先在任务详情中下载日志,再查看 常见问题-任务执行。首次任务失败很常见,通常是字段类型、字段长度、权限、网络或目标表结构不匹配导致。

# 第 7 步:用 SQL 校验目标库

不要只看页面上的成功状态。第一个任务完成后,至少做一次目标库校验。

行数校验:

SELECT COUNT(*) FROM dm_demo_user;

主键范围校验:

SELECT MIN(id), MAX(id) FROM dm_demo_user;

抽样校验:

SELECT id, username, phone, updated_at
FROM dm_demo_user
ORDER BY id
LIMIT 10;

如果源表和目标表字段类型不同,还需要抽查时间、金额、枚举、长文本、空值等容易出问题的字段。

# 实时任务什么时候再做

第一个任务建议先用普通任务跑通。需要秒级变更同步时,再创建实时任务。

实时任务依赖源库日志能力:

源端 常见前置条件
MySQL 开启 binlog
PostgreSQL 开启 WAL 逻辑复制
SQL Server 开启 CDC
Oracle 开启 LogMiner 相关配置
达梦 按数据库版本配置日志捕获能力

实时任务可以执行快照初始化,也可以捕获插入、更新、删除事件。开启前建议先确认源库权限和日志配置,否则任务会启动失败。

# 下一步

Last Updated: 2026/1/12 00:04:07