唯一稳定方式是手动导出/导入 connections.ncx 文件,需处理密码加密、SSH 路径重配、版本兼容三问题:导出必勾选“包含密码”并设临时主密码;导入后须手动重选私钥路径、校正 SSH 代理命令、统一字符集为 UTF8;跨版本需同主版本(如全 v16.3)或降级导出。
不能靠 navicat cloud 自动同步,也不能直接复制配置文件 —— 唯一稳定、可控的方式是手动导出/导入 connections.ncx 文件,且必须处理密码、ssh 路径、版本兼容这三处硬伤。
为什么不能双击打开 .ncx 文件或直接复制 config 目录?
Navicat 的连接配置不是纯文本,connections.ncx 在 v15+ 默认用当前系统用户密钥 AES 加密,Windows 绑定 TPM/主板指纹,macOS 依赖钥匙串,Linux 用本地 keyring。直接拷贝过去会报 invalid connection file 或列表为空。Navicat Cloud 同步也常失效:右下角显示 Syncing… 或 Paused 就代表没真同步;网页端 Navicat Cloud Portal 还得手动确认是否勾选了 Connections 同步范围。
导出时必须勾选「包含密码」并设临时主密码
v16+ 默认不导出密码,v15 根本不提供该选项。若跳过这步,导入后所有连接密码字段变星号或空白,测试连接必失败。
- 在旧电脑上:菜单栏 →
文件→导出连接→ 全选连接 → 勾选包含密码→ 设置一个临时主密码(如navi2026)→ 保存为all_connections.ncx - 别用默认名
connections.ncx,避免和本地未加密文件混淆 - 导出前检查文件头:用文本编辑器打开刚生成的 .ncx,确认首行含
<?xml version="1.0" encoding="UTF-8"?>,否则编码异常,导入后中文连接名可能乱码或截断
导入后必须重配 SSH 私钥路径和字符集
connections.ncx 只存连接参数,不存运行时依赖。Mac 上私钥路径是 /Users/alice/.ssh/id_rsa,Windows 上根本不存在这个路径,Navicat 不会提示错误,只会静默禁用 SSH 隧道,导致连不上数据库。
- 导入后逐个打开连接 → 切换到
SSH页签 → 手动点击浏览重新选择本地私钥文件 - 若用代理或跳板机,命令行路径(如
ssh -o ProxyCommand=...)也要重填,Windows 和 macOS 的 OpenSSH 行为不一致 - 字符集建议统一设为
UTF8,尤其跨系统有中文库名/表名时;旧版 Navicat(v12–v14)在 Windows 上读 UTF-8 .ncx 可能误判,优先用 v15+ 操作
版本不一致时导入失败怎么办?
v16 导出的 connections.ncx 在 v17 上大概率打不开,报错 Unsupported file format。这不是加密问题,而是序列化结构变更。
- 新旧电脑都升级到同一主版本(如全用
v16.3),不要混用 v16 和 v17 - 如果必须跨大版本,先在源机器降级导出(如用 v16 安装包里的旧版 Navicat 打开再导出),或改用 Navicat Cloud + 同账号登录(但免费版限 2 台设备)
- 导入后立刻进
工具→选项→安全,确认加密连接密码是否开启 —— 若关了,下次导出又要输一遍临时密码
真正麻烦的从来不是导出那一下,而是导入后那些不报错却静默失效的细节:SSH 隧道没启、代理命令路径错、中文名编码偏移、密码字段看似存在实则无效。每个连接都得点开 测试连接,别信列表里那个对勾图标。


















