必须走Navicat内置导出/导入流程,直接复制connections.ncx会导致连接列表为空、密码丢失、SSH私钥路径失效;导出时须勾选Include password并为v16+设置临时主密码(如temp123),v15则可能因硬件指纹校验失败丢密码。
不能直接复制文件夹迁移,必须走 navicat 内置的导出/导入流程,否则连接列表为空、密码丢失、ssh 私钥路径失效——这是最常被跳过的前提。
导出时必须勾选 Include password 并设临时主密码(v16+)
Navicat 默认不导出密码,即使界面上显示星号或已保存,connections.ncx 文件里也不含明文或可解密密文。v16+ 强制要求勾选 Include password 后设置一个临时主密码(如 temp123),这个密码只用于本次加密/解密链路,导入时需再次输入;v15 不设主密码但跨设备后可能因硬件指纹校验失败而丢密码。
- 导出路径:菜单栏 →
文件 → 导出连接→ 勾选底部Include password→ 输入临时主密码(v16+) - 不要用右键单个连接 → “导出” —— 那只导出单个连接且不含密码
- 导出文件名建议带版本号,例如
navicat-16.3-connections.ncx,避免和旧备份混淆
导入后 SSH 和代理配置几乎全部失效
Navicat 保存的是绝对路径,比如 C:\Users\Alice\.ssh\id_rsa 或 /Users/Bob/.ssh/id_ed25519,新电脑上路径不存在,连接测试会卡在「SSH 连接失败」或「代理认证拒绝」。
- 逐个打开连接 → 切到
SSH选项卡 → 手动重选私钥文件(Windows 上注意 .ppk 和 .pem 格式兼容性) -
SSH 用户名和SSH 密码字段不会随连接导出,必须手动补全(即使你用了密钥,某些环境仍需填 SSH 用户名) - HTTP/SOCKS 代理设置完全不迁移,需对照原截图或记忆重新填写,尤其是「绕过本地地址」规则
模型工作区(.nmw)和查询脚本要分开处理
Navicat 的「模型工作区」不是连接的一部分,它存在本地文件系统中,导出连接时不会打包进去;同理,「查询」节点下的 SQL 脚本默认存于 %appdata%\PremiumSoft\Navicat\Queries\,也不会进 connections.ncx。
- 模型工作区迁移:在原电脑打开模型 →
文件 → 另存为→ 保存为.nmw文件;新电脑用文件 → 打开加载 - 查询脚本迁移:手动复制整个
Queries文件夹(路径见「工具 → 选项 → 文件和数据」中设置的 Queries 路径),粘贴到新电脑对应位置 - 注意字符集对齐:若原连接设置了
Initial statement: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci,新连接也得配,否则带中文注释的 DDL 会变成???
最容易被忽略的是跨平台编码和版本兼容性:macOS 导出的 .ncx 在 Windows 上用 v14 打开会乱码,v15+ 统一 UTF-8 安全;v16.3 导出的文件在 v17.0 上可能解析失败,连接名变 Connection_1,SSL 设置丢失——迁移前先确认两端 Navicat 主版本号一致。


















