必须通过navicat内置导出/导入流程迁移connections.ncx文件,直接复制会导致invalid connection file或连接列表为空;导出须勾选“包含密码”,v15+需重输密码并修正ssh私钥路径、中文编码等配置。

换电脑时不能直接关掉 Navicat 就走,navicat15.db 加密绑定原设备硬件指纹,新 MacBook 上双击旧配置文件或复制目录会直接报 invalid connection file 或连接列表为空——必须用内置导出+手动重输密码+修正路径三步走。
导出连接前必须勾选「包含密码」
Navicat 15.0.28+ 默认不导出密码(v15 早期版本该选项灰色不可选),不勾选就等于白导。导出路径必须是菜单栏 文件 → 导出连接,不是手动拷 %appdata%\PremiumSoft\Navicat\ 下的文件夹。
- Windows 旧机上:打开 Navicat → 点击
文件 → 导出连接→ 勾选导出时包含密码→ 保存为connections.ncx - macOS 新机上:不能双击
connections.ncx打开,必须在 Navicat 内执行文件 → 导入连接→ 选中该文件 - 导入后所有连接密码字段仍显示星号,且测试连接必失败——这是正常现象,不是导出失败
Mac 上需重输密码并校验 SSH 私钥路径
macOS 和 Windows 的密码加密机制不同,即使同版本 Navicat,密码也无法跨系统复用。更麻烦的是,如果连接用了 SSH 隧道,旧配置里存的是 Windows 路径如 C:\Users\Alice\.ssh\id_rsa,Mac 上根本找不到。
- 逐个点击连接 →
编辑连接→ 切换到SSH页签(如有)→ 点击浏览重新选择本地私钥文件(通常是~/.ssh/id_rsa) - 切换回
常规页签 → 手动输入密码(不是粘贴,部分键盘布局下粘贴会丢字符)→ 点击测试连接 - 若提示
Permission denied (publickey),说明私钥权限不对:终端执行chmod 600 ~/.ssh/id_rsa
中文连接名乱码?统一设为 UTF-8 并禁用旧版兼容模式
旧版 Navicat(v14 及以前)在 Windows 上用 GBK 编码存连接名,导出的 .ncx 文件虽是 UTF-8,但 v15+ macOS 版读取时若检测到编码标记异常,会 fallback 到 Latin-1,导致“用户管理”变成“ç”开头的乱码串。
- 导入后发现中文名变方块或问号:右键该连接 →
编辑连接→ 在连接名输入框里手动重输中文名(别复制) - 避免后续新建连接再乱码:菜单栏
工具 → 选项 → 环境→ 取消勾选启用旧版连接兼容模式 - 确认 Navicat 版本 ≥ 15.0.32(2026 年 3 月后发布),该版本修复了 macOS 下 .ncx UTF-8 BOM 识别缺陷
最易被忽略的是:Navicat 15 不会自动同步工作区布局(标签页、SQL 窗口位置、查询历史),这些只存在本地 navicat15.db 里,无法导出。迁移后得手动重建常用查询收藏夹和分组,否则第一次打开全是空白标签页。











