在现代企业数据架构中,跨数据库平台的数据共享已成为刚需。无论是从开源生态向更强大分析能力演进,还是出于国产化替代、多云部署等战略考量,将 MySQL 中的数据同步到 PostgreSQL 已成为高频场景。
DataMover 数据迁移同步平台免费版支持 17 种主流异构数据源,可创建 30 张表并发调度任务,配置简单、无需编程基础,支持 全量、增量、实时 CDC 同步,轻松满足 95% 以上的日常业务需求。
本文将以 MySQL 作为源端,PostgreSQL 作为目标端,手把手教你 5 分钟完成跨平台数据实时同步。
DataMover实时同步支持Insert、Update、Delete、Truncate事件。
一、环境准备:部署DataMover
1.1 下载安装
访问 DataMover 官网下载最新免费版,支持 Windows、Linux、macOS 系统:
1.2 部署 DataMover 平台
准备好 JDK 和 MySQL 环境后,按操作系统选择部署方式:
1.2.1 启动 manager 与 worker
分别配置 manager/conf 与 worker/conf 目录中的 application-druid.properties,依次启动两个服务。
1.3 登录平台
启动成功后,访问:
http://localhost:8000
账号:admin
密码:admin123
二、实战演练:MySQL 到PostgreSQL数据库实时同步
2.1 创建数据源连接
-
进入数据源管理:点击左侧「数据源」菜单。
-
添加PostgresSQL 源:
- 点击「新增」,选择「SQL Server」。
- 填写连接信息:
- 名称:
postgresql(可自定义) - 主机:postgresql 服务器 IP
- 端口:5432
- 数据库名称:如
MyDB - 用户名/密码:对应账号密码
- 名称:
- 点击「测试连接」,成功后保存。
-
添加MySQL目标库:
- 重复新增步骤,选择「MySQL数据库」。
- 填写MySQL连接信息,测试连接并保存。
提示:DataMover 支持 35+ 种数据源作为目标端,如:
MySQL、Oracle、PostgreSQL、ClickHouse、Doris、Kafka、HDFS、Greenplum 、达梦、KingBase、GaussDB等。
只需在目标数据源中选择对应类型即可。
2.2 配置同步任务
-
创建任务:点击「任务管理」→「新建任务」。
-
基础设置:
-
任务名称:如
SQLServer到MySQL同步 -
源端数据源:选择刚刚创建的
SQL Server -
目标端数据源:选择
Mysql -
任务类型:选择「实时任务」或「普通任务」,我们这里以实时任务为例
创建实时任务,需要源端mysql开启binlog,DataMover将订阅mysql binlog日志,在目的端PostgreSQL重放。
-
-
表与字段映射:
-
点击源端表的「加号」,勾选需要同步的表。
实时任务创建后若需新增表有两种方案:
若需要强一致性,需要停止任务并重置后新增表,重新启动,这样会将所有表历史数据重新同步,完成快照后开始执行增量CDC。
若源库新增的表可以暂停数据操作,可以新建一个一次性全量任务,同步到目标库后,再实时任务新增表,重启后,在对源库新增表进行数据操作。
-
目标表可自动创建或选择已有表。
-
系统自动匹配同名字段,支持手动拖拽映射。
-
2.4 启动与监控
保存任务后,在任务列表中点击「全部启动」,对于CDC任务,所有的表调度时一起的,全部启动、全部停止、全部重置。
可在任务详情页实时查看同步进度、速度、数据量及日志。
对源表进行插入、更新、删除、重建表操作,查看目标表是否对应完成数据操作。
插入记录
例如system_mail_template插入一条记录
查看PostgreSQL数据正确同步
更新记录
例如system_notify_message更新一条记录,将template_code字段更新成更新测试
update system_notify_message set template_code = '更新测试';
update system_notify_message set template_code = '更新测试'
> Affected rows: 9
> 时间: 0.005s
查看目标库数据
删除记录
例如system_mail_template删除一条记录,删除表中id为14的记录。
delete from system_mail_template where id = 14;
delete from system_mail_template where id = 14
> Affected rows: 1
> 时间: 0.004s
查看目标库数据
源库重建表
例如对system_dept进行truncate操作。
目标库重建前:
源库执行sql:
truncate table system_dept;
truncate table system_dept
> OK
> 时间: 0.018s
验证目标库结果:
三、为什么选择 DataMover 进行 MySQL 数据迁移?
- ✅ 源端友好:完美兼容 MySQL 5.6 ~ 8.0,支持主从、RDS、云数据库
- ✅ 目标灵活:35+ 种目标数据源,覆盖 PostgreSQL、国产数据库、数据仓库、消息队列
- ✅ 零编码配置:全程可视化操作,告别复杂 ETL 脚本
- ✅ 免费可用:免费版支持 30 张表并发同步,中小项目开箱即用
结语
本文以 MySQL → PostgreSQL 为例,展示了 DataMover 在异构数据库同步中的高效与便捷。无论你的目标是 PostgreSQL、达梦、人大金仓、Doris 还是 Kafka,DataMover 都能提供 稳定、可视、低门槛 的迁移体验。
后续我们将推出《MySQL 到 Doris 实时同步》《MySQL 到 Kafka 流式入湖》等系列教程,欢迎持续关注!