navicat 连接文件不能直接共享,因 ncx 文件设备绑定且加密;安全共享需导出为不包含密码的 xml 文件,并人工补录密码。

不能直接共享含密码的 Navicat 连接文件(如 connections.ncx),它本质是设备绑定的加密凭证,不是可迁移配置。 即使你把文件发给同事,对方在自己的电脑上打开时,Navicat 会静默失败——连接列表为空、无报错、不提示,只表现为“加载不出来”。这不是操作失误,而是设计如此。
导出 XML 时默认不包含密码,这才是安全共享的起点
Navicat 的“导出连接”功能支持两种格式:ncx(二进制/设备绑定)和 XML(纯文本/可读)。只有 XML 格式能跨机器使用,且它的设计就是不写入密码字段。
- 导出路径:右键连接 → “导出连接” → 勾选
Export as XML(不是默认的ncx) - 生成的 XML 中,
<password></password>是空标签,或整段缺失,不是加密后的内容 - macOS 用户注意:GUI 导出可能带 UTF-8 BOM,导致 Windows 导入时中文连接名乱码;用 VS Code 打开 → 右下角编码 →
Save with Encoding→UTF-8 (no BOM) - 导入必须走
文件 → 导入连接 → 选择 XML 文件,双击或拖入无效
密码补录必须人工触发,别试图塞进 XML 里
有人尝试手动往 XML 里填 <password>my123</password>,再导入——Navicat 会直接忽略该字段,连接仍提示输入密码。这不是 bug,是强制安全策略。
- 导入后双击连接,弹出对话框,手工输入密码:最安全,也是唯一被 Navicat 官方支持的方式
- 环境变量或脚本注入仅适用于 CLI 场景(如
navicat --import-connections),但 Navicat 不接受含明文密码的 XML 输入,仍需后续交互 - 若团队高频使用某套连接,建议用密码管理器(如
1Password或Bitwarden)单独共享密码,并与 XML 文件配套分发
导出前务必取消勾选“导出密码”,否则 XML 也可能含密文
某些旧版 Navicat(v15 之前)在导出 XML 时,界面有个容易被忽略的选项:Export password。一旦勾选,它会把当前已解密的密码以明文写入 XML ——这等于把生产库密码直接发到协作群。
- 导出时检查对话框:确保
Export password或类似复选框未被勾选(不同版本文字略有差异) - 导出后用文本编辑器快速扫一眼 XML,确认
<password></password>标签内容为空或不存在 - 如果误导出了含明文密码的 XML,立即撤回、清空聊天记录,并通知所有已接收者删除本地文件
真正难的不是技术操作,而是让所有人养成“XML + 独立密码凭证”的双轨习惯。一旦有人图省事复制 connections.ncx 或勾选了导出密码,整个共享链路就从安全模型退化成了信任模型——而生产环境不该建立在信任之上。











