Navicat 17 不支持全局修改备份路径,仅能为每个连接在「连接属性 → 高级」中单独设置;系统选项、配置文件或注册表修改均无效且可能导致异常。

Navicat 17 中无法全局修改“备份文件默认保存路径”,但可以为每个连接单独设置,且必须通过「连接属性 → 高级」完成;直接改系统或配置文件无效,还可能引发备份失败。
为什么找不到“全局默认备份路径”设置项
Navicat 17 的 UI 层根本没有提供「工具 → 选项 → 备份路径」这类入口。所谓“默认路径”,其实是它对每个新连接自动 fallback 到的路径:C:\Users\(其他数据库类型对应 PostgreSQL、Oracle 等子目录)。这个 fallback 行为不可关闭或统一重定向。
- 「工具 → 选项 → 文件和数据」里能改的只有:
查询文件保存路径、导入文件路径、工作区文件(.nbi)位置,不包含备份 - 试图修改
Navicat.exe.config或注册表强行指定服务器路径,会导致连接元数据加载异常(v15+ 后加密校验更严格) - 即使你用符号链接把
%appdata%\PremiumSoft\Navicat指向别处,也只影响连接配置本身(navicat15.db),不影响备份文件落盘位置
正确操作:为单个连接设置备份路径(推荐)
这是唯一稳定、生效、无副作用的方式。注意:必须在连接**未激活状态**下操作(右键连接 → 若提示“请先断开连接”,就照做)。
- 右键目标连接 → 选择「连接属性」
- 切换到「高级」选项卡
- 找到「备份文件保存路径」输入框(不是「临时文件夹」,也不是「导出路径」)
- 填入完整绝对路径,例如:
D:\NavicatBackups\prod_mysql(确保该目录已存在,且当前用户有写权限) - 点击「确定」→ 重启该连接(断开再重连)
此后所有对该连接执行的「备份」操作(手动点「备份」按钮、或通过「自动运行」创建的批处理作业),都会将 .nb3 文件写入你指定的路径。
自动备份任务也必须绑定连接路径
Navicat 17 的「自动运行」功能不会读取全局设置,它完全继承所选连接的「高级」里配置的备份路径。如果你新建了一个批处理作业但备份仍落到 C 盘,大概率是:
- 作业绑定的连接没提前设置「高级 → 备份文件保存路径」
- 作业编辑时误选了另一个未配置路径的连接
- 路径末尾漏了反斜杠导致 Windows 解析成相对路径(应写
D:\Backups,不要写D:\Backups\或D:/Backups)
验证方法:执行一次手动备份,立刻去你填的路径下找刚生成的 xxx.nb3 文件 —— 找到了,说明路径生效;没找到,说明作业或连接配置没对上。
临时文件占满 C 盘?那是另一回事
就算你把备份路径设到 D 盘,Navicat 17 在导出/备份过程中仍会狂写 %TEMP%(通常是 C:\Users\)。这不是备份路径问题,而是 Navicat 内部临时解压、校验、分块写入的行为所致。
- 解决办法:修改系统环境变量
TEMP和TMP指向非 C 盘目录(如D:\Navicat_Temp) - 必须用管理员权限修改「系统变量」(不只是用户变量),并重启 Navicat 进程(托盘图标也要右键退出)
- 验证方式:执行小规模备份后,去新
TEMP目录下搜索navicat_*开头的临时文件夹
这个环节最容易被忽略 —— 很多人调好了备份路径,却没动 TEMP,结果 C 盘还是被撑爆。











