文件修复

修复了MySQL文件错误中的错误信息

简介:MySQL '不正确的信息在文件'错误可能会导致数据库表损坏。你可以使用带有' use_frm '选项的REPAIR TABLE语句来修复MyISAM表。要修复导致InnoDB表损坏的错误,请确保配置文件中没有任何错误。有关修复“文件中不正确的信息”错误的方法的详细信息,请阅读本文。此外,探索一个专门的MySQL修复工具,从MyISAM和InnoDB表中恢复丢失的数据。

免费下载
免费下载

一些MySQL用户报告说,当MySQL服务器因停电或其他原因崩溃后重新启动时,收到“文件错误中的错误信息”。但是,该错误也可能是由于配置文件“my.cnf”的问题而发生的。完整的错误信息显示如下:

错误1033 (HY000):文件:'.*.frm'中的信息不正确

修复MySQL '不正确的信息在文件'错误的方法

以下是修复损坏的表和修复“不正确的信息在文件”MySQL错误的五种方法。

注意:如果损坏表的存储引擎是MyISAM,请使用方法1和方法2修复表。如果表使用的是InnoDB存储引擎,请跳转到方法4。

方法1—使用use_frm命令执行REPAIR命令

要修复损坏的MyISAM表,请运行以下命令:

修复表1 use_frm;

这里,tbl1是需要修复的表的名称。将其替换为要修复的表的名称。

方法2 -删除并重新创建损坏表

要做到这一点,请遵循以下步骤:

  • 停止MySQL服务器实例
  • 备份tbl1。FRM(表结构),tbl1。MYD(表数据)和tbl1。索引文件。
  • 删除表tbl1
  • 启动MySQL服务器
  • 使用CREATE TABLE语句重新创建表(在本例中为tbl1)
  • 再次停止服务器
  • 复制MYDtbl1。MYI数据库目录(datadir)中的文件
  • 重新启动MySQL实例

如果这不能帮助解决问题,或者表中有很多丢失的数据,请跳到以下方法。

方法3 -从备份恢复

如果上述修复方法对您不起作用,请从最近的备份恢复MySQL数据库。当涉及到从InnoDB存储引擎上运行的损坏表中恢复数据时,恢复备份是唯一的选择。

如果你没有备份,请使用专业人员MySQL修复工具也许会有帮助。

方法4—修改配置文件

有时,MySQL服务器可能以错误的配置文件(Windows为my.ini, Linux为my.cnf)启动,导致错误1033。当脚本(在下载数据文件时自动适应my.cnf文件中的更改)启动失败时,就会出现这种情况。InnoDB ibdata1文件的大小可能与下载的文件不匹配。

例如,my.cnf文件包含大小为2GB的ibdata1文件,但第二个数据文件的大小为4GB。

innodb_data_file_path = ibdata1:4GB; ibdata2:50M: autoextend

要解决此问题,请关闭服务器并将配置文件中的上述行修改为:

innodb_data_file_path = ibdata1:4GB; ibdata2:50M: autoextend

保存my.cnf文件,表将恢复到工作状态。

方法5 -使用MySQL修复工具

恒星修复MySQL软件的目的是帮助MySQL用户修复损坏的表为MyISAM和InnoDB存储引擎。您可以下载该软件的演示版本,验证可恢复的数据是否正确。

免费下载

该软件支持在Windows和Linux系统上修复MySQL 8.0.26及之前版本的数据库表。它恢复原始的表属性、主键、视图、触发器等。

使用恒星修复MySQL数据库表的步骤

  • 下载并安装软件后,启动它。
  • 阅读说明并单击OK继续。

指令窗口

  • 浏览并选择包含要修复的数据库的MySQL数据文件夹,然后单击OK。

选择mysql数据文件夹

  • 选择具有损坏表的数据库,然后单击“修复”。

选择损坏的表

  • 当出现“修复完成”消息框时单击“确定”。

修复完成

  • 显示所有修复表及其可恢复数据的预览。

可恢复数据预览

  • 选择要恢复的全部或特定项目,然后单击“文件”菜单上的“保存”。

保存选项

  • 选择将修复后的数据库保存到新的MySQL数据库或其他文件格式,如CSV、HTML或XLS。按Save按钮。
  • 选择保存数据库的位置,然后再次单击save。

修复后的数据库和所有恢复的表将保存在选定的位置。

常见问题

Q.正如上面的方法4所建议的,我将my.cnf中的行修改为80MB,以帮助恢复InnoDB表。你能建议我怎样才能使ibdata1的大小恢复到100MB的实际大小吗?

A.将第一个数据文件标记为自动扩展,以返回文件的实际大小100MB。

进步
76% 很多人觉得这篇文章很有帮助

为什么恒星®是全球领导者

为什么选择Stellar?
  • 0+

    客户

  • 0+

    工作经验

  • 0+

    研发工程师

  • 0+

    国家

  • 0+

    合作伙伴

  • 0+

    所获奖项

  • 我们符合iso 27001标准
  • 我们符合iso 9001标准
  • NIST
  • HIPAA验证