导出navicat连接必须勾选“导出密码”,否则.ncx中密码为空导致导入后频繁弹窗输密或认证失败;需注意版本兼容(v15与v17不互通)、跨平台路径/代理/编码差异及手动验证每项配置。

导出前必须勾选“导出密码”,否则.ncx里密码字段为空
Navicat 默认不导出密码,哪怕你勾选了“保存密码”,导出的 connections.ncx 文件中密码仍是空字符串。导入后每次连接都会弹窗输密,甚至因认证失败直接跳过该连接。
实操建议:
- 在旧设备上:菜单栏 →
文件→导出连接→ 勾选导出密码(v16+ 显式可选;v15 该选项灰色但实际不包含密码,需升级) - 务必保存为
.ncx后缀,不要手动复制connections.ncx文件或整个~/.navicat目录 - 如果连接含 Oracle 模式(如使用 Oracle 客户端模式),macOS 版 Navicat 不支持,导入后会静默跳过,无任何提示
导入后连不上?重点检查 SSH 私钥路径和代理配置
connections.ncx 只存连接参数,不存运行时依赖。Mac 和 Windows 的 SSH 密钥默认路径、OpenSSH 行为、HTTP 代理端口完全不同,照搬必失败。
常见错误现象:
- 测试连接卡在 “Connecting via SSH…” 后超时
- 报错
Permission denied (publickey)或Connection refused - 代理设置仍指向旧机器的
127.0.0.1:10809,而新 Mac 实际是127.0.0.1:7890
实操建议:
- 双击导入后的连接 → 切到
SSH标签页 → 检查私钥文件路径是否存在(Mac 的~/.ssh/id_rsa在 Windows 上肯定无效)→ 改为新机器路径或重新生成密钥对 - 若用 Navicat 内置 SSH 客户端,修改后必须先点
保存,再点测试连接,否则改动不生效 - 代理配置同理:Windows 常用 Proxifier + 本地端口,Mac 多用 ClashX / Surge,端口和协议需重配
v15 与 v17 之间不能直接导入,小版本差一格都可能解析失败
Navicat 的 .ncx 是带版本标记的 XML,不同主版本间结构有变更。v15 导出的文件在 v17 上导入常报 invalid connection file 或列表为空;反过来 v17 导出的文件在 v15 上根本无法识别。
实操建议:
- 迁移前确认两端 Navicat 主版本一致(如都是 v16.x 或都是 v17.x),小版本差(如 v16.3 → v16.1)一般兼容,但 v16 → v17 不行
- 若旧设备是 v15,别硬导:先在旧机升级到 v16.3+(官网提供免费升级路径),再导出;v15 无法读取 v16+ 导出的文件,反之亦然
- Mac 和 Windows 的安装包独立构建,
Navicat_Premium_17.0.10_MacOS.dmg不能在 Windows 运行,navicat170_premium_cs_x64.exe也不能在 Mac 打开
中文连接名乱码?UTF-8 编码声明和编辑器选择很关键
旧版 Navicat(v12–v14)在 Windows 上按系统 ANSI(如 GBK)读取 .ncx,而文件本身是 UTF-8,导致中文名变成问号或方块。v15+ 默认以 UTF-8 保存,但仍依赖编辑器正确处理。
实操建议:
- 迁移前,在源系统用 v15+ 打开并另存一次
connections.ncx,确保文件开头有<?xml version="1.0" encoding="UTF-8"?> - 别用 Windows 记事本或 macOS TextEdit 编辑
.ncx—— 它们会悄悄转成 ANSI 或加 BOM;改用 VS Code / Sublime Text,并显式设编码为UTF-8 without BOM - 连接名中避免全角空格、零宽字符(如
U+200B),这类符号在跨平台渲染时易错位或被忽略











