Navicat“每日全量备份”需通过Windows任务计划调用navicat.exe实现,必须配置绝对路径、$(Date:yyyyMMdd_HHmmss)文件名变量及当前账户明文密码,且须每月执行恢复演练验证备份有效性。

Navicat 的“每日全量备份”不是内置服务,而是靠 Windows 任务计划调用 navicat.exe 执行一次导出动作;没配对三项关键项(绝对路径、时间变量命名、账户密码),任务就静默失败,连日志都不留。
必须用绝对路径设置备份根目录
Navicat 不会自动创建备份文件夹,也不会继承你双击启动时的工作目录。如果在“编辑连接 → 高级 → 设置位置”里填的是 ./backups 或空值,navicat.exe 被任务计划拉起时很可能写入失败,且不报错。
- 务必点击“浏览”,选一个**已存在、有写入权限的绝对路径**,例如
D:\NavicatBackups\myapp - 该路径下后续生成的
.sql和.psc文件都归属此连接,别混用多个库共用同一级目录 - 避免写到系统盘根目录或用户文档路径(如
C:\Users\XXX\Documents),部分 Windows 组策略会拦截写入
文件名必须含 $(Date:yyyyMMdd_HHmmss) 变量
Navicat 默认备份文件名是静态的,比如 myapp_db.sql。第二天任务再跑,直接覆盖——你看着每天都有新文件,其实只有一份有效数据。
- 在“新建批处理作业”右侧双击
Backup myapp_db后,先点“编辑”,不要直接保存 - 把“文件名”栏从
myapp_db.sql改成myapp_db_$(Date:yyyyMMdd_HHmmss).sql -
$(Date:...)是 Navicat 原生支持的变量语法,不支持%date%或$(datetime)等其他格式 - 改完再点“确定”保存批处理作业,否则变量不生效
Windows 任务计划必须填当前账户完整密码
Navicat 调用的是 Windows 任务计划程序(taskschd.msc),而该程序要求:只要勾了“只在用户登录时运行”(默认就勾着),就必须提供当前 Windows 用户的**明文密码**。输错、留空、或用 PIN/Windows Hello 都会失败。
面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。
- 在“设置任务计划 → 应用”后弹出的窗口中,输入的是你开机登录 Windows 用的完整密码
- 如果用的是 Microsoft 账户(如 xxx@outlook.com),密码就是你登录该账户时输的密码,不是本地管理员密码
- 若提示“任务计划程序在试着设置任务账户信息时出现错误”,第一反应不是重试,而是检查密码是否正确、Caps Lock 是否开启、账户是否被锁定
- 切勿关闭“只在用户登录时运行”来绕过密码——那样会导致锁屏后任务完全不触发
备份有效性只能靠恢复验证来确认
任务列表显示“上次运行结果:操作已完成”,不代表备份文件能用。0 字节、字符集错乱、缺少视图或存储过程、甚至因磁盘满导致写入中断,这些都不会让任务标红,但会让恢复变成一场灾难。
建议每月至少手动执行一次恢复演练:挑一个备份文件,导入到测试库,用 SELECT COUNT(*) 对比关键表行数,再抽样查几条业务数据是否完整。这不是额外负担,而是确认那堆 .sql 文件真能救命的唯一方式。










