navicat 15 的「数据同步」无法直接加入系统计划任务,仅 premium 版本在有效授权下支持内置「计划」模块;否则需用命令行调用 .ncx 文件配合 windows 任务计划程序或 macos launchd 实现定时同步,并务必启用「隐藏进度窗口」避免后台失败。
navicat 15 的「数据同步」功能本身不支持直接添加到 windows/macos 系统计划任务中自动触发,它只能手动执行或通过内置的「计划」模块调度——但该模块仅在 navicat premium(非 essentials 或 standard)且已激活完整许可 的情况下可用。如果你看到「添加到计划」按钮灰掉、不可点,大概率是版本或授权问题。
确认 Navicat 15 是否支持“计划”功能
不是所有 Navicat 15 版本都带计划能力:
- Navicat Premium 15:✅ 支持「数据同步」+「计划」(需有效订阅/永久许可)
- Navicat for MySQL/PostgreSQL 15:❌ 不含「数据同步」功能,更无计划
- Navicat Essentials:❌ 功能阉割,同步和计划均不可用
- 即使是 Premium,若试用期过期或激活失败,计划 标签页会消失或按钮禁用
手动配置「数据同步」任务并保存为 .sql 或 .ncx
即使不能直接加计划,你仍可先建好同步逻辑,为后续自动化铺路:
- 打开 工具 → 数据同步
- 设置源库与目标库连接(注意字符集、时区、主键/唯一键一致性)
- 在「选项」中勾选:
-
忽略不存在的表(避免因表缺失中断) -
跳过具有相同数据的记录(减少重复写入) -
启用外键检查(如需级联更新,否则可能报Cannot add or update a child row)
保存 → 生成一个 .ncx 文件(Navicat 专用同步配置)用命令行 + 系统计划任务真正实现定时运行
Navicat 15 提供了 navicat.exe(Windows)或 navicat(macOS)命令行接口,可调用已保存的 .ncx 同步任务:
- Windows 示例(管理员权限运行 cmd):
navicat.exe --sync "C:\SyncTasks\users_sync.ncx"
- macOS 示例(终端中执行):
/Applications/Navicat\ Premium.app/Contents/MacOS/navicat --sync "/Users/me/SyncTasks/orders.ncx"
- 关键点:
- 路径中含空格必须用引号包裹
-
.ncx必须由 Premium 图形界面预先保存,不能手写 - 首次运行会弹 GUI 窗口(即使后台执行),需关闭「显示进度窗口」选项(在同步设置 → 高级 → 勾选
隐藏进度窗口) - 建议配合日志重定向:
navicat.exe --sync task.ncx >> sync.log 2>&1
Windows 任务计划程序 / macOS launchd 配置要点
别只填命令就完事,这几个坑踩过就忘不掉:
- Windows:
- 「运行身份」必须是能访问数据库的用户(不能选「只在登录时运行」,否则锁屏后失效)
- 勾选
不管用户是否登录都要运行+不存储密码时不允许运行(需手动输入密码一次并保存) - 起始目录设为
Navicat 安装路径,否则可能找不到依赖 DLL
- launchd plist 中需显式指定
WorkingDirectory - 避免使用
~路径,全部用绝对路径(/Users/xxx/...) - GUI 应用在无会话时可能卡住,务必在
.ncx中启用隐藏进度窗口
Navicat 的「计划」看似一键,实则依赖授权完整性;真要稳定跑定时同步,绕不开命令行 + 系统级调度。最容易被忽略的是:同步任务里没开 隐藏进度窗口,导致计划任务在后台静默失败,日志里只留一句 Application not responding。











