Navicat配置文件位置因系统而异:Windows在%APPDATA%\PremiumSoft\Navicat\版本号\下,macOS在~/Library/Application Support/PremiumSoft/Navicat/;关键文件包括Connections.ncx、Options.xml和Snippets文件夹,迁移需统一编码(UTF-8无BOM)、换行符(LF),并处理密钥链加密导致的密码失效问题。
Navicat 配置文件在哪?别猜路径,直接定位
windows 和 macos 的配置位置完全不同,硬记路径容易出错。实际迁移时,必须先确认当前配置的真实存储位置,否则复制错文件等于白忙。
- Windows:默认在
%APPDATA%\PremiumSoft\Navicat\下,但具体子目录名取决于 Navicat 版本(如Navicat16、Navicat17),不是所有版本都叫Navicat - macOS:路径是
~/Library/Application Support/PremiumSoft/Navicat/,注意Library是隐藏目录,Finder 默认不显示,用Cmd+Shift+G输入路径直达 - 关键点:
Connections.ncx是连接配置主体,但Options.xml(含界面偏好、快捷键等)和Snippets文件夹(SQL 片段)也得一起搬,漏一个就“看起来像但用着别扭”
跨系统迁移前必须处理的编码与权限问题
macOS 和 Windows 对文件编码、换行符、权限标记的处理不同,直接拷贝可能触发 Navicat 启动失败或连接乱码。
- 最常见报错:
Failed to load connection list或打开后连接全空——大概率是Connections.ncx里含 Windows 特有的 BOM 头或 CRLF 换行,macOS 版 Navicat 解析异常 - 实操建议:用 VS Code 或 Sublime Text 打开
Connections.ncx,右下角确认编码为UTF-8(无 BOM),换行符设为LF,保存后再复制 - macOS 端若提示“文件已损坏”或拒绝读取,执行
xattr -d com.apple.quarantine ~/Library/Application\ Support/PremiumSoft/Navicat/Connections.ncx清除隔离属性
Navicat 16 升级到 17 后配置不兼容?别手动改 XML
Navicat 17 不会自动升级旧版 Connections.ncx 格式,强行加载会静默失败——界面显示正常,但双击连接无反应,控制台也不报错,极难排查。
- 官方没提供转换工具,但有绕过方案:在旧版本(16)中导出为
.ncx文本格式(菜单 → 工具 → 导出连接),再用 Navicat 17 的「导入连接」功能加载该文件 - 注意:导出时勾选
Include password,否则导入后要逐个重输密码;但导出文件本身是明文,务必在传输后立即删掉本地副本 - 如果只有旧版配置目录,没有安装旧版 Navicat,那就只能重配——Navicat 不开放配置文件结构文档,逆向成本远高于重新录入几个连接
迁移后验证连接是否真生效,而不是只看列表存在
很多人看到连接名称出现在左侧列表就以为成功了,结果第一次执行查询时卡住或报 Authentication failed,其实是加密密钥没同步过去。
- Navicat 17+ 使用系统密钥链(macOS Keychain / Windows DPAPI)加密密码,跨系统迁移时这部分无法转移,必须重置
- 验证动作不是“能点开连接”,而是右键连接 →
Test Connection,且成功执行一条SELECT 1; - 如果测试通过但查询时报错,检查
Options.xml里的UseSSL和AllowPublicKeyRetrieval是否被重置为 false——旧配置可能开启,新环境默认关闭
真正麻烦的从来不是复制文件,而是那些不报错、不提示、只悄悄失效的加密上下文和隐式依赖。动手前多看一眼 Connections.ncx 文件头和系统密钥链状态,比重装三次 Navicat 节省时间。


















