Navicat中文网站 > 使用技巧 > Navicat数据同步功能怎么用 Navicat数据同步冲突怎么处理
Navicat 帮助中心 帮助类别

Navicat数据同步功能怎么用 Navicat数据同步冲突怎么处理

发布时间:2026-01-31 15: 40: 00

做数据同步时,最怕的不是点错一次向导,而是把源库和目标库的写入口径搞混:你以为是对账,实际是在覆盖;你以为是补数据,结果把目标多出来的记录删了。Navicat的数据同步本质是先比对再生成要执行的动作脚本,你把比较口径、键映射、执行动作三件事管住,同步就会更可控。

一、Navicat数据同步功能怎么用

Navicat的数据同步在Premium、Enterprise、Standard版本中提供,入口在菜单【Tools】→【Data Synchronization】。

1、打开向导

在Navicat主界面点击【Tools】→【Data Synchronization】,进入同步向导;如果你之前跑过同类任务,可以在向导里点【Load Profile】加载历史配置,避免每次重配。

2、设连接

在Step 1里分别选择Source和Target的连接与数据库或schema;如果发现源目标选反了,直接点界面里的交换按钮把Source与Target对调,再继续往下走。

3、选动作

在Step 1点【Options】设置比较与同步动作,常用的三项是Insert records、Delete records、Update records;含义是源里有目标里没有就插入,目标里多出来就删除,源目标同键但字段不同就更新目标。

4、配映射

进入Step 2做表映射与键映射,默认只会把同名表自动映射;你需要重点检查Key Mapping与Field Mapping,确认用于比对的键确实是主键或唯一键,字段映射不要把不该同步的列带进去。

5、先预览

映射完成后点【Compare&Preview】先看差异结果,Navicat会统计每张表将Insert、Update、Delete多少行;你可以先把风险大的表或动作取消勾选,只让它跑你确认过的部分。

6、再执行

确认无误后再执行同步,想跳过预览也可以用【Compare&Deploy】,但建议第一次跑新任务时不要省这一步;执行完成后把配置保存为profile,后续复跑或做自动化会更省事。

二、Navicat数据同步冲突怎么处理

这里的冲突通常不是“自动合并失败”,而是同一条记录在源与目标都存在,但内容不一致,或者键映射不稳定导致重复插入与约束报错。处理思路是先把冲突定位到键层面,再决定以谁为准,最后控制执行范围。

1、先看差异

在预览界面选中表后,底部会显示源与目标的数据,并能用下拉选项查看差异,高亮的字段就是冲突点;如果只是少量行冲突,直接在明细里取消勾选这些记录,先让其余部分同步过去。

2、定主从

Navicat数据同步是以Source为准更新Target,遇到同键不同值时,勾选Update就等于用Source覆盖Target;如果你的业务是目标库更可信,就不要在同一任务里硬覆盖,而是交换Source与Target再比一次,或者只同步插入不做更新。

3、拆双向

需要双向同步时,不要指望一次任务解决,Navicat官方做法是同步两次:先A到B只开Insert和Update,让B补齐A的变更;再B到A只开Insert,把B新增但A没有的补回A,删除动作要非常谨慎,按实际口径单独评估。

4、修键映射

同步时最常见的冲突是插入时报主键或唯一键冲突,根因往往是Key Mapping选错或表缺少稳定唯一键;回到Step 2检查Key Mapping,优先用主键或唯一键组合,必要时先在数据库侧补唯一约束,再重新Compare。

5、控删除

Delete records的冲突风险通常更高,因为它会把目标里多出来的数据删掉;如果你只是想把目标补齐源的数据,把Delete先关掉,先跑Insert与Update,等你确认目标“多出来的数据”确实该清理,再单独开Delete跑一次小范围验证。

6、避并发

如果同步期间两边还在持续写入,同一条记录可能在你Compare完到Deploy之间又被改动,导致你以为的差异与实际不一致;实操上可以选业务低峰执行,或先对关键表做短窗口只读与冻结写入,再跑同步,冲突会明显减少。

三、Navicat同步前后如何做校验与回滚

同步做得稳不稳,关键看你有没有可复盘的证据链:同步前知道会改什么,同步后能验证改对没改错,必要时还能回滚。

1、先留快照

正式Deploy前,先对目标库做一次备份或导出关键表,至少保证能回滚;如果你们有变更流程,把本次同步的范围、时间点、负责人写进记录里。

2、先跑小范围

第一次上线新profile,建议先在【Options】里只勾选一两张表,或只开Insert不做Update与Delete,跑通后再逐步扩大范围;这样出问题也容易定位是哪张表或哪个动作引起。

3、用预览做验收

每次Compare后,把预览里Insert、Update、Delete的数量截图或记录下来,执行后再对照同一批表做抽样核对,确保没有出现数量级偏差。

4、固化为自动化

如果你需要定时跑同步任务,可以把同步配置保存为profile,再放进Navicat的Automation里做计划任务,Automation支持把Data Synchronization作为作业类型并按计划执行。

总结

Navicat数据同步的核心是三步:在【Tools】→【Data Synchronization】里选好源目标与Insert、Update、Delete动作,在Step 2把Key Mapping与Field Mapping配对正确,在预览界面按表和按记录控制执行范围。冲突处理先看差异再定主从,双向需求按两次同步拆开做,删除动作单独评估并避开并发写入,同步前留快照、同步后做抽样校验,整体风险会更可控。

展开阅读全文

标签:数据传输数据同步数据备份数据库安全性

Copyright © 2026 Navicat数据库管理软件
- 苏州苏杰思网络有限公司
|
软件使用须知 |
证照信息 |
特聘法律顾问:江苏政纬律师事务所 宋红波

咨询热线

在线咨询

限时折扣