Navicat备份前须确认连接类型为MySQL、核对实例参数并保存配置;备份需手动勾选Views/Triggers/Stored Procedures and Functions;权限和EVENT须右键连接单独导出;路径须纯英文无空格,.nb3不可编辑。

备份前必须确认连接类型和数据库实例
Navicat 的备份功能严格绑定连接类型:用 MySQL 连接时,只能触发 mysqldump 行为;若误选 PostgreSQL 备份按钮,界面不报错,但导出的 .nb3 文件为空或无法还原。右键数据库前,请务必核对左上角连接图标旁显示的是 MySQL(不是“PostgreSQL”“Oracle”等)。多个同名数据库共存时,双击该连接 → “连接属性” → 检查 Host、Port、Database 是否与目标实例一致;仅“测试连接成功”不等于备份可用,必须点 OK 保存配置后才生效。
视图、触发器、函数不会默认导出,必须手动勾选
Navicat 默认只备份表结构和数据,VIEW、TRIGGER、PROCEDURE、FUNCTION 全部被排除在外。右键目标数据库 → Backup Database → 弹窗中切换到“对象选择”页,必须显式勾选以下三项:
ViewsTriggersStored Procedures and Functions
漏掉任意一项,还原后对应对象就不存在。注意:如果函数或过程定义中含 DEFINER=`user`@`%`,而目标库无该用户,还原会失败;此时需切换到“高级选项”页,勾选 Remove DEFINER and SQL SECURITY。
权限和事件需单独导出,不能混在数据库备份里
用户权限(如 GRANT 语句)和数据库级 EVENT 不属于某个具体数据库的“对象”,因此不会出现在右键数据库的备份弹窗中。要导出权限:
- 右键左侧连接名(不是数据库名)→
Export SQL File - 切换到
Users标签页 → 勾选对应用户 → 导出为独立.sql文件
要导出 EVENT:
- 同样右键连接 →
Export SQL File - 切换到
Events标签页 → 勾选需要的事件 → 导出
这两类对象若未单独导出,仅靠数据库级备份是完全丢失的。
路径含中文或空格会导致还原失败,.nb3 文件不可直接编辑
备份路径必须是纯英文、无空格、无特殊字符(如 (、&、中文)的绝对路径,例如 C:\navicat_backups\mydb_20260907.nb3。一旦路径含中文或空格,后续还原大概率报错或静默失败。另外,.nb3 是 Navicat 自有二进制格式,无法用文本编辑器打开或修改——它不像 .sql 那样可人工检查内容、删减对象或替换字符串。如果需要可审计、可干预的备份产物,建议搭配使用 Export SQL File 功能生成纯 SQL 文件作为补充。


















