Navicat连接配置文件实际存储在加密的二进制文件connections.ncx或connections.nx中:Windows位于%APPDATA%\PremierSoft\Navicat\,macOS位于~/Library/Application Support/PremierSoft/Navicat/,Linux位于~/.navicat/;不可直接编辑,无官方JSON导出功能。
Navicat 连接配置文件实际存储在哪
navicat 并不把连接信息存在 json 文件里供用户直接编辑。它用的是加密的二进制格式(connections.ncx 或 connections.nx),位置因系统而异:
windows 在 %appdata%\premiersoft\navicat\ 下;macos 在 ~/library/application support/premiersoft/navicat/;linux 则在 ~/.navicat/。这些文件不能用文本编辑器安全修改——改坏就打不开连接列表,且无官方导出为可编辑 json 的功能。
为什么“导出为 JSON 后批量替换”不可行
Navicat 没有内置「导出连接为 JSON」选项。所谓“导出”,通常指手动复制连接属性到 Excel 或记事本,或通过第三方工具逆向解析(风险极高)。真实场景中遇到的所谓“JSON 导出”,往往是误把 Navicat Cloud 同步数据、或某插件生成的模拟结构当真了。一旦你用文本编辑器强行打开 connections.ncx,看到的全是乱码和不可读字节,localhost 字符串可能被拆散、编码、混淆,甚至根本不在明文区域。
真正能批量改主机地址的可行路径
如果你管理的是团队级多连接(比如 20+ 个 MySQL 连接),想把所有 localhost 换成 127.0.0.1 或统一指向某个测试网关 IP:
Node.js 可靠编程技能。避免事件循环阻塞、异步陷阱、ESM 兼容问题和内存泄漏。触发词:Node.js 开发、async/await、流处理、性能优化、安全编码。
- 用 Navicat 17+ 的「管理连接」功能:右键连接 → 「编辑连接」→ 批量选中多个连接(Ctrl/Cmd 多选)→ 逐个改「主机」字段 → 保存。虽非一键,但比重配快得多
- 若连接已分组,可在「管理连接」面板中按组筛选,缩小操作范围
- 对 SSH 隧道类连接,注意「主机」字段填的是数据库服务端地址(如
10.0.1.5),不是 SSH 跳板机地址——这两处容易混改 - 改完务必点「测试连接」,尤其关注是否触发了 MySQL 的
host not allowed错误,因为127.0.0.1和localhost在权限校验时走不同 socket 通道
最常被忽略的兼容性细节
MySQL 用户权限是按 user@host 组合定义的。localhost 默认走 Unix socket,而 127.0.0.1 强制走 TCP。即使你只改了 Navicat 里的主机字段,如果数据库用户没授权 user@'127.0.0.1',连接仍会失败。这时候得让 DBA 执行:GRANT ALL ON *.* TO 'your_user'@'127.0.0.1' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
而不是只盯着 Navicat 界面改。










