Navicat中文网站 > 使用技巧 > Navicat怎么备份和恢复数据库 Navicat数据库恢复失败怎么办
Navicat 帮助中心 帮助类别

Navicat怎么备份和恢复数据库 Navicat数据库恢复失败怎么办

发布时间:2026-10-31 13: 27: 00

数据库改表之前留一份备份,换服务器时把数据恢复过去,这些操作在Navicat里都能完成。不过,备份文件生成了,不代表里面包含全部所需内容;恢复进度走完,也可能有部分语句执行失败。还有一种情况是拿着SQL文件进入备份还原窗口,入口就选错了。下面以Windows中文版Navicat连接MySQL为例,说明备份、恢复及失败后的处理方法。

一、Navicat怎么备份和恢复数据库

Navicat内置备份与SQL转储是两种方式,恢复时应使用对应入口。操作前核对连接地址和数据库名称,恢复测试尽量放在独立数据库中完成。

1、创建内置备份

内置备份可以选择表、视图等对象。业务还在写入时,备份的一致性也要考虑,不能只看任务有没有报错。

①双击打开目标【数据库】,点击工具栏【备份】→【新建备份】。

②进入【对象选择】,勾选需要保存的表及其他数据库对象。

③在【高级】中核对备份选项,全部为InnoDB表时,可按备份要求选择【使用单一事务】。

④点击【备份】,检查执行信息,并在备份列表中确认生成的文件。

2、把备份恢复到测试库

①右键点击目标【连接】,选择【新建数据库】,填写测试库名称,设置与源库对应的【字符集】和【排序规则】。

②打开测试库并点击【备份】,在列表空白处右键选择【还原备份从】,定位备份文件。

③在【常规】中核对目标库及文件信息,在【对象选择】中确认恢复范围。

④检查【高级】中的创建、清空及覆盖选项,确认后点击【开始】。

恢复可能删除、重建或清空选中的对象,具体取决于恢复选项。已有业务数据的数据库不宜直接拿来试验。备份列表没有显示文件,也不等于文件失效,可以通过指定文件的入口载入。

3、使用SQL文件备份和恢复

①右键点击已打开的【数据库】,选择【转储SQL文件】→【结构和数据】,指定文件名并保存。

②用文本编辑器打开【.sql文件】,检查其中的【CREATE DATABASE】、【USE】及删除对象语句。

③右键点击准备好的测试【数据库】,选择【运行SQL文件】,指定文件和对应【编码】。

④排查阶段取消勾选【遇到错误时继续】,点击【开始】并查看执行信息。

SQL文件可能自行指定数据库,执行目标不能只凭左侧选中了哪个库判断。仅结构转储不包含表记录,CSV、Excel导出也不能替代包含建表信息的数据库备份。

二、Navicat数据库恢复失败怎么办

恢复失败后应保留原备份和执行信息,暂时停止重复提交。同一个任务连续运行,可能让原本的权限或语法问题,又叠加出表已存在、主键重复等报错。

1、从靠前的错误开始核查

①在恢复窗口的【信息日志】或执行信息区域,复制错误码、对象名称和相关语句。

②对照文件类型,将【Navicat备份文件】交给备份还原入口,将【.sql文件】交给【运行SQL文件】。

③展开测试库的【表】、【视图】等分类,查看失败前已经创建的对象。

后续提示表不存在,可能只是建表失败带来的连带结果。应优先处理日志中靠前的有效错误。失败任务也未必整体回滚,重试时可以另建空测试库,避免把残留对象混入判断。

2、检查账号权限和对象定义者

能够连接数据库、查看记录,不代表账号可以建表、删除对象或创建触发器。涉及视图和存储程序时,还可能遇到定义者账号相关限制。

①点击【新建查询】,输入【SHOW GRANTS FOR CURRENT_USER;】,点击【运行】查看当前账号授权。

②对照日志,核查【CREATE】、【INSERT】、【DROP】及报错对象所需的权限。

③在SQL副本中搜索【DEFINER】,记录涉及的账号和对象,交由数据库管理人员确认授权或定义者调整方案。

3、处理版本、字符集和排序规则差异

①分别在源库和目标库的【新建查询】中运行【SELECT VERSION();】,记录数据库版本。

②出现未知排序规则时,在目标库运行【SHOW COLLATION;】,核对报错名称是否受支持。

③涉及具体表时,通过【设计表】检查字符集、排序规则及字段定义,并与源库比较。

④在【SQL文件副本】中调整确认不兼容的定义,放入新的测试库重新执行。

较新数据库输出的排序规则,较早版本可能不认识。只改目标库的默认设置,未必能覆盖脚本中逐表指定的定义。排序规则变化还可能影响比较和排序结果,不宜把脚本中的名称全部替换后就直接投入使用。

4、区分大语句限制与连接中断

①出现数据包过大提示时,在【新建查询】中运行【SHOW VARIABLES LIKE'max_allowed_packet';】。

②记录失败语句涉及的【表】和大字段,由有权限的人员核对服务端限制,并重新连接后测试。

③只有连接中断提示时,检查服务器运行日志、连接链路及磁盘空间,再决定是否重试。

文件大和单条语句过大是两回事。单条插入语句超过限制时,可能伴随连接断开;服务器重启或连接超时也会中断任务,不能看到断开提示就一律增大参数。

三、Navicat怎样确认恢复结果完整可用

看到表名重新出现,只能说明部分对象已经建立。恢复检查还要覆盖记录、约束和业务查询,尤其是曾经报错的对象。

1、对照备份时点检查数据

①刷新目标【数据库】,对照备份对象清单检查【表】、【视图】、【函数】和【事件】等内容。

②在【新建查询】中,对关键表运行【SELECT COUNT(*)FROM表名;】,与备份时记录的数量比较。

③按业务编号查询样本记录,核对金额、日期、中文和空值字段。

④通过【设计表】检查关键表的【主键】、【索引】和【外键】。

源库仍在持续写入时,当前行数可能已经变化,应对照备份时点留下的记录。数量相同也不能证明每个字段都正确,长文本、特殊字符及关联记录值得单独抽查。

2、保留可重复检查的备份材料

备份的范围需要说清楚。数据库对象备份通常不包含Navicat中单独保存的查询文件,恢复后查询列表为空,不能直接判断业务数据丢失。

①右键点击【连接】,选择【编辑连接】→【高级】,查看【设置位置】。

②将需要保留的【.sql查询文件】另行复制保存,与数据库备份分开标注。

③保存本次【恢复日志】和对象核对记录,注明备份时间、源库版本及测试结果。

总结

数据库备份的用途,是在发生误操作或环境变化后,仍有一份经过验证的数据可用。备份范围、保存时点和恢复条件写得清楚,后续接手的人也更容易判断这份文件能恢复到什么状态。日常可以安排独立测试库做恢复验证,别等业务急着用数据时才发现遗漏。希望这些内容能帮大家理清备份与恢复的关系,如有相关需求,欢迎沟通咨询。

展开阅读全文

︾

标签:数据库脚本工具,数据库转换工具,Navicat数据库

读者也访问过这里:
Copyright © 2026 Navicat数据库管理软件
- 苏州苏杰思网络有限公司
|
软件使用须知 |
证照信息 |
特聘法律顾问:江苏政纬律师事务所 宋红波

咨询热线

在线咨询

限时折扣