Navicat 17 支持 navicat:// URI 批量导入连接,需 URL 编码密码、显式配置 sslmode;推荐用嵌套分组+颜色标记管理连接;SSH 隧道应统一通过跳板机复用;定时任务须部署在 Navicat On-Prem Server 统一调度,并执行全量连接探活测试。
连接太多时,别手动建,用 URI 批量导入
手动逐个配置上百个生产库连接,光测试就可能卡在某个 ssl 或 ssh 隧道环节,还容易漏填参数。navicat 17 支持 navicat:// uri 格式,可直接把连接定义转成链接批量分发或导入。
常见错误现象:复制粘贴连接信息时端口写错、密码含特殊字符未 URL 编码、sslmode=require 漏加导致连接被拒绝。
navicat://mysql?host=prod-db-01.example.com&port=3306&user=admin&password=pass%402026&database=orders&sslmode=require- URI 中的
password必须 URL 编码(如@→%40,/→%2F) - PostgreSQL 连接需显式带
sslmode,MySQL 则推荐加ssl=true参数 - 导入方式:拖拽 URI 文件到 Navicat 窗口,或右键“我的连接”→“从 URI 导入”
按环境+业务线分组,别只靠名字排序
上百个连接堆在列表里,靠“prod-us-east”“prod-ap-southeast”这种命名搜索效率极低——拼错一个字母就找不到。Navicat 17 的“管理连接”界面支持颜色标记和嵌套分组,这才是真实运维场景下的组织逻辑。
使用场景:DBA 要快速切到“支付线-生产-阿里云RDS”,而不是翻 30 页找 “pay-prod-rds-alibaba”。
- 右键任意连接 → “管理组” → “新建组”,命名如
支付线/生产/阿里云(斜杠自动创建嵌套层级) - 为高危环境(如核心账务库)设红色标签,点击齿轮图标 → “标记为重要” → 选红色
- 组内连接可拖拽复用:把一个已配好的连接拖进新组,它会自动克隆一份(非引用),避免误改原配置
- 不建议用“星标”代替分组——星标上限 10 个,且无法导出/同步到 Navicat On-Prem Server
SSH 隧道和 SSL 不要混配,优先走统一跳板机
上百个生产库若每个都单独配 SSH 隧道,密钥管理、超时设置、重连逻辑全得重复调,极易出现某几个连接因 Connection refused 或 ssh: handshake failed 失效。
性能影响:每个独立 SSH 隧道占用一个本地端口 + 单独进程,100 个连接可能吃掉 2GB 内存;而共享跳板机隧道可压缩到 1–2 个长连接。
- 在 Navicat 中新建一个“跳板机”连接(类型选 SSH),填入堡垒机地址、用户、私钥路径
- 其他数据库连接中,“主机名”填内网地址(如
10.10.20.5),勾选“通过 SSH 连接”,再选择刚才建的跳板机 - SSL 配置统一放在跳板机层:跳板机本身用 TLS 连 Navicat On-Prem Server,终端数据库只做内网通信,不额外开 SSL
- 验证是否生效:连接成功后,右键连接 → “连接属性” → 查看“SSH 隧道”页签是否显示“已启用”和活跃会话 ID
定时同步任务别放本地,用 Navicat On-Prem Server 统一调度
本地电脑关机、休眠或网络中断,会导致你设的“每天凌晨 2 点同步订单库”任务直接失效。上百个连接对应的数据同步若分散在不同工程师笔记本上,根本不可控。
容易踩的坑:同步任务用了相对路径导出 SQL,换机器后路径不存在;或用了本地临时表名,跨库执行时报 Table doesn't exist。
- 部署 Navicat On-Prem Server(支持 Windows/Linux Docker 部署),所有定时任务注册到服务端
- 同步任务中“源”和“目标”必须用连接全名(如
订单库/生产/阿里云),而非本地连接别名 - 导出路径统一用服务端绝对路径(如
/data/backup/orders/),避免依赖客户端磁盘 - 启用“失败重试”并设邮件通知——On-Prem Server 可集成 SMTP,失败时自动发告警到运维群邮箱
SELECT 1 探活,并把失败项高亮标红——这个动作必须在“管理连接”界面里手动点一次“全部测试”,不能跳过。











