Navicat 17导出连接必须手动勾选Include password,否则.ncx文件中密码字段为空,导入后全部显示星号且测试连接失败;勾选后需设临时主密码(如temp123),导入时必须再次输入才能解密还原,跳过则密码永久丢失。

Navicat 17 导出连接时必须勾选 Include password
不勾这个选项,导出的 connections.ncx 文件里密码字段全是空的,导入后所有连接都显示星号且无法测试通过。v16+ 版本默认不勾,弹窗底部要手动点选;勾选后会强制要求设置一个临时主密码(如 temp123),这个密码在导入时必须再次输入才能解密还原——跳过就永久丢失密码。
常见错误现象:
– 导入后连接名正常但点“测试连接”直接报 Access denied
– 连接列表里只显示 connection_1、connection_2 这类编号,无实际名称
– macOS 导出的文件在 Windows 上打开,中文连接名变问号或截断
- 导出前确认 Navicat 当前是 v17.x(不是 v16 或更早)
- 路径选择非系统盘(如
D:\navicat-backup\),避免权限拦截 - 导出文件是明文含密码,传输完立刻删本地副本
Navicat 17 导入时需匹配同主版本且手动重输 SSH 私钥路径
v17 的 connections.ncx 与 v16 格式完全不兼容,XML schema 已重构,静默失败无提示。跨平台迁移时,SSH 私钥路径是高频故障点:macOS 上存的是 /Users/alex/.ssh/id_rsa,Windows 导入后仍按原路径找,结果报 Permission denied (publickey)。
使用场景:
– 从 MacBook 换到 Windows 台式机
– 重装系统后恢复旧配置
– 团队共用一套连接模板但环境路径不同
- 导入后逐个打开连接 → 切到「SSH」页 → 手动更新私钥绝对路径(Windows 示例:
C:\Users\alex\.ssh\id_rsa) - 若用密码认证而非密钥,可跳过此步;但建议统一改用密钥+passphrase 提升安全性
- SQL Server 的 Windows 身份验证连接,导入后需手动切换认证类型为「Windows Authentication」
批量导入多个数据库连接(MySQL/PostgreSQL/SQLite 等)的实际限制
Navicat 17 支持一次导入全部连接,但「批量」不等于「无差别适配」。不同数据库类型的连接参数结构差异大,导入后仍需人工校验:
参数差异:
– MySQL 和 PostgreSQL 都要填主机、端口、用户名、密码,但 PostgreSQL 必须指定 database name,MySQL 可为空
– SQLite 只认 database file path,导入后若路径不存在,连接图标会灰显且右键无响应
– MongoDB 导入后若原配置含副本集节点,需检查「Connection String」是否完整包含多个 host:port
- 导入后立即执行「测试连接」,不要等批量操作完成再验证
- PostgreSQL 连接若报
schema not found,大概率是用户默认 schema 权限未分配(如没给public或自定义 schema 的 USAGE 权限) - SQLite 内存数据库(
:memory:)无法导入,该类型连接只能重新手动创建
导出的 connections.ncx 文件不能直接复制粘贴
有人试过直接拷贝 Documents\Navicat\ 下的整个目录,结果 Navicat 启动报 invalid connection file 或直接空白。这是因为 Navicat 的连接数据是「注册表 + ncx 文件 + 本地加密密钥」三者绑定,缺一不可。硬拷文件绕过了加密上下文重建流程。
容易踩的坑:
– 双击 .ncx 文件 → 系统用默认程序打开(比如记事本),而不是 Navicat
– 在「文件」菜单选「导入连接」却误点了「导入查询」或「导入模型」
– 导入时选错目标连接组(比如想导入到「我的连接」,结果拖进了某个颜色分组里,后续找不到
- 正确操作路径:菜单栏 →
文件→导入连接→ 选中 .ncx 文件 → 点确定 - 导入后连接默认出现在「我的连接」根目录,不会自动归入原分组/颜色/星标状态,需手动补设
- 如果目标机器从未运行过 Navicat 17,首次启动会初始化加密环境,此时导入成功率最高;已运行多次后再导入,偶尔触发密钥链冲突
复杂点在于:密码加密绑定硬件指纹,哪怕同版本、同系统、同路径,换主板或 TPM 模块后仍可能失效。这时候唯一办法是导入后挨个编辑连接,重输密码并重新测试——没有捷径,也别信“破解 ncx 密码”的脚本,Navicat 的加密是实打实的 AES-256 加本地密钥派生。











