如何用Navicat将备份恢复到测试环境

千丽姑娘_1853

千丽姑娘_1853

2026-08-29

972人浏览

原创

还原前必须新建同名空数据库,Navicat还原功能不自动建库,仅向已有库写入;需右键连接新建数据库,名称、字符集须与源库一致,且不可手动建表;还原时须通过“还原备份从…”导入.nb3文件,勾选“删除已存在对象”,还原后须验证表结构与数据一致性。

还原前必须新建同名空数据库

navicat 的 还原备份 功能不会自动建库,它只往已有数据库里写表和数据。如果你直接对着一个不存在的库点“还原”,操作会失败或静默跳过——界面可能没报错,但实际什么都没发生。

正确做法是:在目标测试环境(比如 test_mysql 连接)中,右键「连接」→「新建数据库」,名称必须和备份时的源库完全一致(区分大小写,尤其 Linux 环境下)。例如备份来自 order_system,你就得建一个叫 order_system 的空库,不能叫 order_system_test 或 ordersys。

  • 建库时字符集建议与原库一致(如 utf8mb4),否则还原后中文可能乱码
  • 如果原库用的是 innodb 引擎,新库无需手动指定,默认即可;但若含 memory 或 archive 表,需确认测试环境支持
  • 不要在建库后手动建任何表——还原过程会覆盖同名表,但新增的无关表会残留,造成数据混杂

选对备份文件路径和扩展名

Navicat 备份生成的文件不是 SQL 脚本,而是二进制封装格式:.nb3(新版)或 .psc(旧版)。你在「备份」列表里看到的时间戳文件(如 20260715142231),双击它并不会打开,它只是个索引入口;真正要还原的,是背后那个带扩展名的物理文件。

常见误区:从「我的文档\Navicat\MySQL\servers\XXX」里复制整个文件夹到测试机,却漏掉 .nb3 文件本身,只拷了目录结构——结果还原时提示“找不到备份文件”或列表为空。

  • 确认路径:右键备份条目 →「在文件夹中显示」,看到的是类似 C:\Users\XXX\Documents\Navicat\MySQL\servers\test_mysql\order_system\20260715142231.nb3
  • 传输时务必带上 .nb3 后缀,Windows 资源管理器默认隐藏扩展名,容易误传为无后缀文件
  • 如果备份文件是从生产机拷来的,注意检查文件权限——Linux/ macOS 下若属主不匹配,Navicat 可能读取失败,报错 Access denied

还原时别点“还原备份”,要点“还原备份从…”

这是最容易卡住的一步。你连上测试环境、打开刚建的空库、点开「备份」标签,看到一片空白——因为 Navicat 默认只显示该连接本地生成的备份记录,不会自动加载外部导入的 .nb3 文件。

navicatmysql
navicatmysql

Navicat For MySQL

下载

必须手动触发外部文件导入:在「备份」面板的空白处右键 → 选择「还原备份从…」,然后浏览定位到你拷过来的那个 .nb3 文件。如果误点了列表里的「还原备份」(灰色不可用)或某个已有备份条目,操作会无效或报错 No backup file selected。

  • 「还原备份从…」对话框里,对象选择 页面可以勾选具体表,但首次还原建议全选——避免漏表导致关联查询失败
  • 勾选「删除已存在对象」:这会清空当前库中所有同名表再写入,确保数据干净;不勾选则只插入/更新,但字段变更、索引缺失等会导致运行时报错
  • 如果备份里含视图或存储过程,且测试环境 MySQL 版本低于生产环境(如生产用 8.0,测试还是 5.7),还原时会跳过或报语法错误,需提前核对版本

还原后必须刷新并验证表结构而非仅看数据

进度条走完、弹出「还原成功」提示,不代表万事大吉。Navicat 不校验数据一致性,它只保证文件写入完成。很多问题在还原后才暴露:比如外键约束没重建、自增 ID 重置错乱、时间戳字段被设成 0000-00-00(因 SQL mode 不同)、或者某个表的 ENGINE=InnoDB 实际变成了 MyISAM(因测试环境配置缺失)。

最简验证法:执行 SHOW CREATE TABLE xxx 对比关键表的建表语句,重点看 ENGINE、CHARSET、AUTO_INCREMENT 和 COMMENT 是否一致;再查几条带时间/枚举/JSON 字段的记录,确认值未被截断或转换。

  • 别只查 SELECT COUNT(*)——行数对不等于结构对,尤其含软删除标记或分区表时
  • 如果应用依赖触发器或事件,它们不会随 .nb3 一起还原,需单独导出 SQL 手动执行
  • 还原后的库默认没有用户权限,测试应用连接时若报 Access denied for user,得手动给测试账号授对应库的 SELECT,INSERT,UPDATE,DELETE

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

navicat

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2625

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3861

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

2871

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

927

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

2547

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

2547

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2853

3

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

2023.10.19

2341

3

mdf文件导入数据库的方法
mdf文件导入数据库的方法

mdf文件导入数据库的方法有使用SQL Server Management Studio、使用SQL Server命令行工具、使用SQL Server Integration Services等方法。想了解更多mdf文件导入数据库的方法的相关内容,可以阅读本专题下面的文章。

2023.10.23

2513

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习