Navicat定时备份本质是注册Windows任务计划,必须同时满足三项:固定绝对路径的备份根目录、新建含$(Date:yyyyMMdd_HHmmss)变量的批处理作业、在触发器中勾选“使用Windows任务计划程序”并输入当前账户完整密码。

Navicat 本身没有后台服务,所谓“定时备份”其实是把任务注册进 Windows 任务计划程序(Task Scheduler)——没配对账户密码、没启用 Windows 计划器、备份路径不固定,任务就会静默失败,连错误提示都不会弹。
必须先固定备份根目录(设置位置)
Navicat 不会按你想象的路径写文件。它所有备份(.sql 和 .psc)都落在连接配置里指定的「设置位置」,而不是你右键导出时临时选的路径。
- 右键目标 MySQL 连接 → 「编辑连接」→ 切到「高级」选项卡
- 找到「设置位置」→ 点「浏览」→ 选一个**绝对路径的专用文件夹**(比如
D:\NavicatBackups) - 确认该目录对当前 Windows 用户有「修改」权限;若用非登录账户运行(如服务账户),需额外授权
- 不设这个,后续所有定时任务生成的文件都会写到不可控位置,甚至因权限不足直接失败
新建批处理作业(自动运行 → 新建批处理作业)
这是定时任务的执行体,不是点一下“备份”就完事。老版本在「计划」菜单,Navicat 16 起统一移到「自动运行」。
- 顶部菜单:「自动运行」→「新建批处理作业」
- 左侧展开连接 → 点击「备份」标签 → 在右侧「可用的工作」中双击
Backup your_db_name - 点击窗口上方「保存」→ 输入配置名(如
daily_full_backup),不带扩展名 - 如果「可用的工作」为空:检查该连接是否能正常连通,且账号拥有
SELECT和LOCK TABLES权限
触发器必须勾选「使用Windows任务计划程序」
默认触发器只走 Navicat 自带调度器,一旦你登出、锁屏或电脑休眠,任务立刻失效。生产环境必须交由系统级任务计划接管。
解析 MySQL 8.0 的 DDL 脚本,并将表结构导出为 Excel 格式。适用于用户需将 MySQL 的 `CREATE TABLE` 语句转换为结构化的 Excel 文件场景,导出内容包含字段名、数据类型、长度及精度等信息。支持多张表的批量处理,每张表对应 Excel 中的一个独立工作表。适用于数据库文档编写、数据字典生成及模式分析等任务。
- 选中刚保存的
daily_full_backup→ 点工具栏「设置任务计划」按钮 - 切换到「触发器」→「新建」→ 设「开始时间」为未来几分钟内(方便快速验证)
- 勾选「重复任务」→「每1天」→ 建议起始时间设为凌晨 2:00(避开业务高峰)
- 最关键一步:务必勾选「使用Windows任务计划程序」 → 点「应用」→ 弹窗中输入当前 Windows 账户完整密码
- 空密码、输错密码、或账户被禁用,都会导致注册失败,且无明确报错
文件名不加时间变量?第二天就覆盖前一天
Navicat 默认生成的备份文件名是静态的(如 your_db.sql),不会自动带日期。不改,每天备份都写同一个文件,等于白备。
- 在「新建批处理作业」窗口中,双击
Backup your_db_name后,先别点「保存」 - 点右侧「编辑」按钮 → 在弹出窗口的「文件名」栏,把
your_db.sql改成your_db_$(Date:yyyyMMdd_HHmmss).sql - 支持的变量只有
$(Date:...)格式,不能用$(Time)或自定义 shell 变量 - 改完再点「保存」,否则变量不生效
最常被忽略的其实是恢复验证——任务显示“成功”,不代表文件可读、结构完整、字符集一致。建议每周手动挑一个备份文件,用 mysql -u root -p your_db 快速试跑一次,或者至少用文本编辑器打开前 20 行扫一眼 CREATE TABLE 是否存在。静默失败的备份,比没备份更危险。










