Navicat 17 的「自动运行」任务支持每分钟执行,但不推荐用于生产库;其底层仍为 mysqldump 快照备份,每次执行均锁表、导出全量数据并写入新文件,仅适用于小库且需谨慎配置 Use single transaction。
navicat 17 并不提供“实时数据保护”能力——它没有类似数据库级 cdc(变更数据捕获)或 wal 日志流式备份的功能。所谓“实时”,在 navicat 17 中仅体现为更细粒度的自动触发频率(如每分钟)、更快的 ui 响应和对新云服务(如阿里云 polardb、腾讯云 tdsql)的连接适配,但底层仍是基于 mysqldump 或 pg_dump 的快照式备份。
Navicat 17 的「自动运行」任务能设成每分钟执行吗?
可以,但不推荐用于生产库。
- Navicat 17 的「自动运行」→「触发器」中支持设置“每隔 X 分钟”,最小间隔为 1 分钟
- 每次执行仍会调用完整备份逻辑:锁表(除非勾选
Use single transaction且引擎支持)、导出全量结构+数据、写入新文件 - 小库(
- 备份文件名默认不带毫秒,同分钟内多次执行会覆盖——除非手动在「高级选项」里启用
Append timestamp to filename
加密备份在 Navicat 17 中有什么关键变化?
加密协议升级了,但兼容性收窄了。
- v17 加密使用更强的 AES 密钥派生(PBKDF2 + 更高迭代次数),v16 及更早版本无法识别 v17 加密的
.ncb文件,报错为Unsupported encryption version - 密码规则更严:必须含大小写字母 + 数字 + 至少一个 ASCII 特殊字符(
!@#$%^&*),且长度 ≥10(v16 是 ≥8) - 命令行工具
navigator.exe -backup在 v17 中新增--encrypt-passphrase-file参数,支持从文件读密码(避免明文暴露在进程列表),但该文件必须是 UTF-8 无 BOM 纯文本,且首行即密码
想接近“实时”,只能靠组合方案
纯 Navicat 无法替代真正的实时保护链路,但可作为辅助层衔接:
- 主链路走 MySQL 原生 binlog +
mysqlbinlog --read-from-remote-server拉取并归档,或用 Debezium 接 Kafka - Navicat 17 用「自动运行」每天凌晨做一次全量加密备份(
Encrypt backup file+Compress backup file均勾选),存到 NAS 或对象存储 - 再配一个轻量脚本,每 5 分钟用
mysqldump --no-data快速导出表结构,比对哈希值变化,触发告警——这个动作 Navicat 本身不支持,得自己写 - 所有自动化任务必须记录
navicat_version和backup_encryption_version到元数据表,否则半年后你根本分不清哪个备份该用哪个版本恢复
最易被忽略的一点:Navicat 17 的加密备份文件(.ncb)一旦生成,就完全绑定当前主版本号和密码。它不存任何版本标识头,也不提供解密验证接口——输错密码或拿错版本,你只能看到 Decryption failed,连是不是密码错了、还是版本不匹配都分不清。


















