Navicat Premium 不支持单个计划任务同时备份多个数据库,必须为每个库单独建任务或改用命令行脚本;其批处理作业仅串行执行且无失败跳过机制,推荐使用 navicat.exe CLI 或原生 mysqldump/pg_dump 实现可控批量备份。

Navicat Premium 本身不支持“单个计划任务同时备份多个数据库”——你必须为每个数据库单独建任务,或改用命令行 + 脚本方式绕过 GUI 限制。
为什么“新建批处理作业”里选不了多个数据库
Navicat 的图形化批处理作业(自动运行 → 新建批处理作业)界面只允许一次选中一个连接下的一个数据库(或整个连接),即使你勾选了多个“可用任务”,实际执行时也只会按顺序串行跑,且无法统一控制文件名、路径变量或失败跳过逻辑。更关键的是:触发器绑定的是整个批处理作业,不是其中某一项;一旦中间某个库备份失败(比如权限不足、磁盘满),后续任务会直接中断,且无日志区分归因。
- 老版本(如 Navicat 12/15)的“批处理作业”本质是操作队列,不是并行调度器
- Navicat 16+ 的计划任务仍沿用同一套模型,UI 上没增加多库聚合配置项
- 所有版本均不支持在“备份数据库”任务中用通配符(如
myapp_%)匹配多个库名
用 navicat.exe CLI 实现真正批量备份(推荐)
Navicat Premium 16 及以上版本自带命令行工具 navicat.exe,它支持通过参数指定连接名、数据库名和输出路径,可写进批处理或 PowerShell 脚本循环调用。这才是可控、可记录、可扩展的批量方案。
- 确认路径存在:
C:\Program Files\PremiumSoft\Navicat Premium 16\navicat.exe - 连接名必须与 Navicat 左侧连接列表中显示的**完全一致**(含空格、大小写),可通过
--list-connections查看 - 每个备份命令需独立一行,例如:
"C:\Program Files\PremiumSoft\Navicat Premium 16\navicat.exe" --backup "Prod-MySQL" "orders" "D:\backups\orders_%date:~0,4%%date:~5,2%%date:~8,2%.sql" - 建议在脚本开头加
cd /d "C:\Program Files\PremiumSoft\Navicat Premium 16\",避免路径空格引发执行失败 - Windows 任务计划中,操作类型选“启动程序”,程序填
cmd.exe,参数填/c "D:\scripts\batch_backup.bat"
更稳定的选择:跳过 Navicat,直调 mysqldump/pg_dump
如果你备份的是 MySQL 或 PostgreSQL,原生命令工具比 navicat.exe 更轻量、更可靠,且天然支持多库批量导出(用 --databases 或 -d 参数)。Navicat 的 GUI 层反而增加了权限、字符集、SSL 配置等隐性故障点。
- MySQL 多库备份示例:
mysqldump -u root -p'pass' --databases db_a db_b db_c > D:\backups\multi_%date:~0,4%%date:~5,2%%date:~8,2%.sql - PostgreSQL 多库不支持单次导出,但可用
pg_dumpall --globals-only+ 循环pg_dump组合实现 - 注意:Navicat 连接里设置的 SSH 隧道或 SSL 选项,
mysqldump需手动对应配置(如--ssl-mode=REQUIRED) - 该方式下,备份文件是纯 SQL,跨 Navicat 版本、跨平台恢复无兼容性问题
真正麻烦的从来不是“怎么点几下”,而是备份失败时你根本不知道是哪个库挂了、有没有覆盖写入、压缩是否生效、旧文件删没删。批量意味着可观测性要前置——要么用 CLI 脚本加 echo 和重定向日志,要么切到原生工具再套一层监控钩子。GUI 计划任务适合单库轻量场景,别硬撑批量需求。


















