Navicat支持只备份指定对象,需右键数据库→选“备份”→“新建备份”→切换至“对象选择”卡,逐个勾选表、视图、存储过程等;不可勾选数据库名或Tables组标题,.nb3文件仅限同版本Navicat还原。
Navicat 支持只备份表、视图、存储过程、函数等指定对象,而不是整个数据库。关键不是“能不能”,而是操作路径和选项容易被忽略——默认新建备份会全选,必须手动取消不需要的对象。
怎么进入对象选择界面
右键点击目标数据库 → 选择「备份」→ 点击「新建备份」→ 切换到「对象选择」选项卡。这里才是真正控制备份范围的地方,不是在主窗口勾选数据库就完事了。
backup 任务里哪些对象可单独勾选
在「对象选择」界面中,你能看到层级结构:
- 表(
Tables):每个表前有独立复选框,可逐个打钩 - 视图(
Views)、存储过程(Procedures)、函数(Functions)、事件(Events)、触发器(Triggers)都各自展开,支持单独启用 - 注意:
Indexes和Constraints不是独立项,它们随表自动包含;若不勾选某张表,它的索引和约束也不会被备份
容易踩的坑:高级选项里的锁定和事务设置
切换到「高级」选项卡后,有两个关键开关直接影响备份行为:
- 「锁定全部表」(
Lock all tables):勾选后会执行FLUSH TABLES WITH READ LOCK,适合要求强一致性的场景,但会阻塞写入——生产库慎用 - 「使用单一事务」(
Use single transaction):仅对支持事务的引擎(如 InnoDB)有效;若勾选且备份含多个表,能保证备份点一致性;但 MyISAM 表不生效,且大表可能引发长事务 - 误操作常见:没关「锁定全部表」就点「备份」,结果应用写入卡住,还以为是网络问题
备份文件格式和后续还原限制
Navicat 默认生成 .nb3 文件,这是专有格式,只能通过 Navicat 还原,不能直接用 mysql 命令行导入。如果需要跨平台或脚本化还原,得改用「导出向导」→ 导出为 .sql 文件,但那样就失去对象级选择的图形化便利了。
另外,从 .nb3 文件还原时,仍需进入「还原备份」→ 「对象选择」才能挑出之前备份的那几张表——不是自动全量恢复。











