navicat 17 不支持跨网段定时传输,需依赖 navigator.exe 与 windows 任务计划组合实现;必须确保双向网络可达、连接配置正确、.nsx 文件兼容、字符集一致、同步模式设为“仅主键匹配”,导出时间戳需外部脚本动态生成。

Navicat 17 本身不支持跨网段定时传输
它没有服务端调度能力,所谓“自动运行”按钮只是本地 GUI 触发器,依赖当前用户已登录、软件常驻前台、网络连接实时可达。跨网段(比如源库在 10.20.30.0/24,目标库在 192.168.50.0/24,中间有防火墙或 NAT)时,Navicat 不会帮你打通路由、建隧道或重试失败连接——连不上就静默失败,日志里通常只显示 Failed to load connection 或 Connection refused。
必须用 navigator.exe + Windows 任务计划程序组合驱动
这是唯一可落地的路径,但前提是:源库和目标库对运行 Navicat 的这台 Windows 机器必须**双向可达**(不是单向 ping 通就行):
- 源库和目标库的数据库用户 host 必须设为具体 IP 或
%,不能是localhost或127.0.0.1 - 若走 SSH 隧道,Navicat 连接配置中 SSH 私钥路径必须是绝对路径(如
C:\Users\Admin\.ssh\id_rsa),不能用~或相对路径 - Windows 任务计划中必须勾选:
不管用户是否登录都要运行+使用最高权限运行+运行时请勿显示界面,否则任务卡在认证弹窗或权限拒绝 - 同步作业文件(
.nsx)必须用 GUI 完整配置并保存,且连接属性中禁用Save password,改填明文密码(仅限内网可信环境)
跨网段下最容易被忽略的三个硬性检查点
哪怕命令行能跑通,也常在这三处断掉:
-
.nsx文件里保存的是连接别名,不是 IP;如果该别名在另一台机器上未定义,navigator.exe -sync会直接报错,而不是尝试解析 IP - 两个库字符集不一致(如源库是
utf8mb4,目标库是latin1),会导致中文字段乱码甚至同步中断,错误日志里可能只显示Data truncated,不提示根源 - Navicat 默认同步模式是「结构 + 数据」比对,跨网段多用于数据分发场景,但该模式会静默删除目标库中你手动加的索引、备注、额外字段——应手动切到「仅主键匹配」模式
导出路径和时间戳只能靠外部脚本兜底
Navicat 17 的 .nexp 导出任务不支持 %DATE%、$HOME 等变量,跨网段传输若需带时间戳命名(如每天生成 orders_20260907.csv),必须放弃 GUI 定时,改用批处理动态生成新任务文件:
"C:\Program Files\PremiumSoft\Navicat Premium 17\navigator.exe" -export "D:\jobs\export_orders.nexp"
然后用 PowerShell 或 CMD 先复制并重命名 .nexp 文件,再调用对应新文件——这个环节一旦写错路径或权限不足,navigator.exe 就会静默跳过,不报任何错误。
跨网段的本质是网络可达性问题,不是 Navicat 功能开关问题。所有“自动”行为都建立在 Windows 任务计划能稳定唤起 navigator.exe、且该进程能持续维持两个独立 TCP 连接的前提下。任何一环断开(比如防火墙策略半夜更新、SSH 密钥过期、目标库重启后未开远程访问),任务都会失效,且无告警。











