navicat的「连接配置文件」功能可加密保存独立连接配置,支持导出导入与路径隔离,避免密码明文、参数同步遗漏及权限混淆问题。

直接用 Navicat 的「连接配置文件」功能就能做到,不需要手动复制粘贴或写脚本切换。
为什么不能只靠“保存多个连接”?
单纯新建多个连接(比如叫 test_db、staging_db)看似可行,但容易出问题:
- 密码明文存在本地,多人共用电脑时风险高
- 环境参数(如 IP、端口、SSL 设置)微调后,必须逐个改,漏一个就连错
- 开发人员误连预发库执行 DDL,没有权限隔离机制
- 无法按角色分发——测试同学不该看到 DBA 的
root配置
用「连接配置文件」替代普通连接
Navicat 的配置文件本质是加密的独立配置单元,支持导出/导入,且不依赖全局设置。关键操作步骤:
- 点击左上角「连接」→「新建连接」→ 选对应数据库类型(如
MySQL) - 填完参数后,**不要点「确定」**,先点右下角「高级」→ 勾选「使用连接配置文件」
- 在弹出窗口中输入配置文件名,例如
staging-mysql-prod-role,并指定保存路径(建议统一放在团队共享目录,如./navicat-profiles/) - 测试连接成功后保存,该配置即被加密存为单个
.ncx文件
后续双击该文件即可加载完整连接上下文,包括所有高级选项(SSL、SSH 隧道、字符集 utf8mb4 等),不会受当前 Navicat 全局设置干扰。
测试与预发环境的权限和参数差异必须显式分离
两个环境看似相似,但实际配置常有隐蔽区别,不提前对齐会导致连接成功却查不到数据:
-
主机地址:测试环境可能是
10.0.2.15(Docker 内网),预发却是10.12.33.8(K8s NodePort),不能共用localhost -
用户权限:测试库用
test_user(只读 + 临时表),预发库必须用staging_app(允许SELECT和INSERT,但禁止DROP) -
SSL 模式:预发强制
Require SSL,测试环境通常关闭;这个开关在「SSL 选项卡」里,普通连接容易忽略 -
字符集:若预发库启用了
utf8mb4_0900_as_cs排序规则,而 Navicat 默认用utf8mb4_general_ci,就会出现中文乱码或比较异常
导出配置文件时注意三个细节
配置文件不是万能保险,导出环节稍不注意,就失去隔离意义:
- 导出前确认已取消勾选「包含密码」——否则
.ncx文件解密后可还原明文密码 - 避免把配置文件存在 Navicat 默认路径(如
~/Library/Application Support/PremiumSoft/Navicat/Profiles/),那里会被自动同步到所有设备 - 团队协作时,把配置文件放进 Git 仓库前,先用
git secret或类似工具加密,或仅存模板(密码字段留空,由使用者首次加载时填入)
最易被忽略的是:配置文件一旦导入到另一台机器,它仍会读取原机器上的 OCI 库路径(Oracle)或 SSH 私钥路径(MySQL 隧道),这些路径不随文件迁移,必须手动校正。











