Navicat不支持一键批量导出连接,唯一可靠方式是通过“文件→导出连接”全选连接并勾选“包含密码”,保存为.ncx文件,但需严格匹配版本且手动补全SSH/SSL路径及代理配置。

导出前必须全选连接并手动勾选「包含密码」
Navicat 没有“按分类导出”按钮,所谓“公用连接分类”只能靠你在连接列表里手动多选或全选。关键不是分组逻辑,而是导出路径必须走 文件 → 导出连接,不能右键单个连接——右键菜单只支持单个导出,且默认不带密码字段。
操作要点:
- 启动 Navicat 后,确保所有目标连接都已加载(未加载的连接不会出现在导出弹窗中)
- 在导出弹窗中按
Ctrl+A(Windows/Linux)或Cmd+A(macOS)全选;若只需某几类,按住Ctrl/Cmd点击勾选 - 务必勾选底部的
Include password复选框:v16+ 默认取消勾选,v15 该选项灰显但实际也不含密码,不勾就等于白导 - 保存为
.ncx后缀文件(如team-shared.ncx),别改后缀名,否则导入时识别失败
加密分发 ≠ 文件本身加密,而是依赖临时主密码保护
v16+ 版本导出时若勾选了 Include password,会强制弹出一个「设置临时主密码」对话框。这个密码不是 Navicat 账户密码,也不是数据库密码,它仅用于本次导出文件的二次封装加密——导入时必须输入完全一致的字符串,否则提示 Invalid connection file 或静默失败。
注意点:
- 临时主密码可任意设置(如
team2026),但必须同步告知接收方,且不能通过明文聊天工具发送 - 该密码不参与数据库连接认证,只控制
.ncx文件能否被 Navicat 解析;导入后所有连接里的数据库密码仍是明文可用的 - v15 不要求设临时密码,但跨设备导入后大概率因硬件密钥绑定失效而丢密码,所以不推荐用于团队分发
导入后必补的三项运行时配置
即使导出时勾了密码、导入时输对了临时主密码,90% 的团队成员仍会遇到连接失败。问题不在密码,而在 Navicat 不导出任何运行时路径和上下文依赖:
-
SSH 私钥路径:导出保存的是绝对路径(如/Users/alex/.ssh/id_rsa),接收方机器上几乎不存在同路径文件,需逐个打开连接 → 切到SSH页签 → 手动重选本地私钥 -
SSL 证书路径:同理,CA Certificate、Client Certificate等字段全部保留原路径,导入后为空或报错,必须重新指定 -
HTTP/SOCKS 代理设置:代理主机、端口、认证凭据均不随连接导出,需对照源端截图或文档手工补全
真正安全的分发方式其实是绕开 .ncx
把 team-shared.ncx 发给多人,等于把一堆明文数据库密码打包加密后分发——只要有人记下临时主密码,就能批量解出所有密码。更可控的做法是放弃 .ncx,改用 XML + 环境变量注入:
- 用命令行导出纯文本 XML:
navicat --export-connections --format=xml --output=team.xml(v17+ 支持) - XML 中
<Password />为空,不存任何敏感信息,可放心 Git 托管或邮件发送 - 接收方用脚本读取团队统一凭证库(如 HashiCorp Vault 或加密的
credentials.json),动态填充密码后导入;或人工双击连接后输入,避免密码落地 - 缺点是无法自动化测试连接,但换来的是审计可追溯、泄露面可控
最易被忽略的一点:团队里混用 v16 和 v17 是导入失败的高频原因。v16.x 导出的 .ncx 在 v17.0 上可能解析出编号连接(Connection_1),SSL 配置全丢——版本号必须精确到小版本一致,不是“都是 v16”就行。


















