Navicat备份加密需每次手动勾选“Encrypt backup file”才生效,未勾选则生成明文文件;密码仅用于备份文件加密,恢复时必须输入原密码且区分大小写;加密与压缩为独立选项,跨版本(如15→16)不兼容。
备份时勾选加密选项才真正生效
navicat 的备份加密不是全局开关,而是在每次执行 backup 操作时手动启用。即使你配置过默认设置,只要导出时没勾选“encrypt backup file”,生成的 .sql 或 .ncb 文件就是明文——连密码字段都裸露可见。
- 操作路径:右键数据库 →
Backup Database...→ 勾选Encrypt backup file→ 输入密码(两次) - 密码仅用于加密备份文件本身,不涉及数据库连接认证;输错密码会导致恢复时报错
Invalid backup file or wrong password - Navicat 15+ 对
.ncb格式支持 AES-256 加密,但老版本(如 Navicat 12)只支持弱加密,且不提示兼容性警告
恢复加密备份必须输入原始密码
加密后的备份不能跳过密码验证直接还原。哪怕只是想查看内容,也必须通过 Navicat 的 Restore Backup 流程——没有命令行解密工具,也没有绕过方式。
- 恢复路径:右键目标数据库 →
Restore Backup...→ 选中加密的.ncb文件 → 弹窗强制输入密码 - 输错三次会锁定当前恢复操作,但不会影响其他备份文件;密码区分大小写,空格也会被计入
- 如果用
mysql命令行直接导入加密生成的.sql文件,会看到一堆乱码或报错ERROR 1064,因为那根本不是纯 SQL
加密不等于自动压缩,两者需分别设置
很多人误以为勾了加密就顺带压缩了文件体积,其实加密和压缩在 Navicat 里是两个独立开关。加密后文件可能比原备份还大,尤其对小库。
- 压缩选项叫
Compress backup file,位置和加密选项并列,但逻辑无关 - 先压缩再加密(Navicat 内部流程),所以开启压缩能降低最终文件大小,但会略微增加备份耗时
- 若备份含大量 BLOB 字段,压缩率低,加密后体积反而膨胀;此时建议关掉压缩,只保加密
跨版本恢复加密备份有风险
Navicat 不同主版本之间加密格式不兼容。比如用 Navicat Premium 16 备份的加密 .ncb,在 Navicat 15 上大概率打不开,报错可能是 Unsupported backup file version 或静默失败。
- 确认双方 Navicat 版本号(菜单栏
Help → About Navicat),小版本差异(如 16.0.11 vs 16.0.13)通常安全,主版本(15→16)不行 - 生产环境若需长期归档,建议备份时额外导出一份未加密 + 压缩的
.sql(用mysqldump更稳妥),别只依赖加密.ncb - 加密备份无法用第三方工具校验完整性,也无法做增量比对;一旦损坏,只能重备
加密本身不难,难的是记住:它只绑定一次操作、一次密码、一个版本。漏掉任一环,备份就等于没加锁。











