只有Navicat Premium 15在有效授权下才支持自动同步,因其独有“计划”模块和命令行触发能力;非Premium版本(如MySQL版或Essentials)无“添加到计划”按钮,且试用过期或激活失败亦会导致功能失效。
Navicat Premium 15 才能真正自动同步
不是所有 navicat 15 都支持自动同步——只有 navicat premium 15 在有效授权下,才具备「计划」模块和命令行触发能力。如果你用的是 navicat for mysql 15 或 essentials 版本,数据同步 功能本身就不带「添加到计划」按钮,更无法定时运行。
常见现象:添加到计划 按钮灰掉、点击无响应、计划标签页直接不显示——基本可判定是版本或授权问题。试用期过期、激活失败、或用了非 Premium 版本,都会导致该功能不可用。
先保存 .ncx 同步配置,再用命令行调用
即使没有内置计划模块,你仍可手动构建同步逻辑并导出为 .ncx 文件,这是后续自动化唯一可行的起点:
- 打开
工具 → 数据同步,设置源库与目标库(注意字符集、时区、主键一致性) - 在「选项」中务必勾选:
忽略不存在的表、跳过具有相同数据的记录;如需级联更新,启用外键检查 - 点击「保存」生成
.ncx文件(路径不能含中文,空格需用引号包裹) - 关键一步:进入同步设置 → 「高级」→ 勾选
隐藏进度窗口,否则后台执行时会弹 GUI 导致任务失败
Windows/macOS 系统计划任务必须绕过 GUI 陷阱
Navicat 的命令行接口虽支持 --sync 参数,但默认会弹窗——这在无用户登录的后台环境中必然失败:
Windows 示例(管理员权限 cmd):navicat.exe --sync "C:\SyncTasks\user_sync.ncx" >> sync.log 2>&1
macOS 示例(终端):/Applications/Navicat\ Premium.app/Contents/MacOS/navicat --sync "/Users/me/SyncTasks/order_sync.ncx" >> /tmp/sync.log 2>&1
必须注意:
-
.ncx必须由 Premium 图形界面预先保存,不能手写或改后缀 - 日志重定向
>> sync.log 2>&1是排查失败的唯一依据,没日志等于盲跑 - Windows 任务计划程序中,“不管用户是否登录都要运行” + “只在本地系统账户下运行” 是稳定前提
- macOS 的
launchd需配置KeepAlive和StandardOutPath,否则进程可能被系统回收
同步模式选错 = 数据丢失高危操作
在「数据同步」的底部选项里,删除记录 是最危险的开关。一旦勾选,目标库中源库没有的行会被直接删掉——生产环境误点就等于删库。
推荐组合(安全合并):
-
插入记录✅ -
更新记录✅ -
删除记录❌(除非你明确需要完全克隆)
如果两个库存在业务差异(比如目标库有运营侧加的字段或临时数据),禁用删除是最底线。Navicat 不会自动判断哪些是“业务数据”,它只按 SQL 逻辑执行。
真正容易被忽略的,是同步前未做结构比对。数据同步要求表结构一致,否则字段映射失败、类型转换报错、甚至静默丢数据。务必先用 工具 → 结构同步 对齐 schema,再跑数据同步。


















