Mysql之如何根据.frm和.idb文件恢复表结构

 更新时间:2023年03月08日 14:25:49   作者:☆会飞的阿猫☆  
这篇文章主要介绍了Mysql之如何根据.frm和.idb文件恢复表结构问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

根据.frm和.idb文件恢复表结构

.frm和.idb文件是Mysql数据库使用InnoDB数据库引擎时产生的两个文件。

  • ~表名.frm文件存储的相关表的表结构、索引等元数据。
  • ~表名.idb文件存储的相关表中的数据记录。

举例:

  • admin.frm文件存储的是admin的表结构信息,例如id是int型,id是admin的主键等元数据信息。
  • admin.idb文件存储的是admin表中的记录信息。例如admin表中(1,张三)一条记录信息。

如何根据.frm和.idb文件恢复表结构呢

第一步:下载安装MYSQL Utilities工具

官方下载地址:https://downloads.mysql.com/archives/utilities/

如果安装64位工具出现报错时可以尝试换成32位的工具。(亲测有效)

第二步:使用.frm文件恢复表结构

首先,使用Win + R快捷键打开DOS窗口,使用CD切换到.frm文件所在路径。

例如:admin.frm文件在D:mysql-5.7.31-winx64/data/数据库名文件中。

则需要 CD /d mysql-5.7.31-winx64/data/数据库名文件夹中。

然后,使用mysqlfrm --diagnostic ./文件名.frm命令来导出建表的sql语句

使用建表sql语句在Mysql数据库中创建相应的表。

第三步:使用.idb文件恢复表中的记录

首先,将刚才创建的表的表空间卸载(删除.idb文件),执行完下面的这条命令之后将会自动删除该表的.idb文件。

在Mysql中执行

alter table 表名 discard tablespace;

然后,将需要恢复的.idb文件拷贝到刚才创建的数据表的 表名.frm文件所在的文件夹中(一般是在数据安装路径\data\数据库名 文件夹,在这个文件中可以看创建的表的.frm文件就对了)。

最后,使用下面的命令将复制的.idb文件导入到创建的表中。

在Mysql中执行

alter table 表名 import tablespace;

按照上面的就可以恢复表结构和数据了,完美收工喽!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql中engine=innodb和engine=myisam的区别介绍

    mysql中engine=innodb和engine=myisam的区别介绍

    MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持,本文为大家讲解下mysql中engine=innodb和engine=myisam的区别,不懂的朋友可以学习下,希望对大家有所帮助
    2013-07-07
  • Navicat for MySQL(mysql图形化管理工具)是什么?

    Navicat for MySQL(mysql图形化管理工具)是什么?

    这里就给大家介绍一个常用的MySQL数据库管理工具:Navicat for MySQL,需要的朋友可以参考下
    2015-09-09
  • mysql 5.7.16 免安装版安装配置方法图文教程

    mysql 5.7.16 免安装版安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.16 免安装版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • MySQL主从同步中的server-id示例详解

    MySQL主从同步中的server-id示例详解

    这篇文章主要给大家介绍了关于MySQL主从同步中server-id的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • zabbix监控MySQL主从状态的方法详解

    zabbix监控MySQL主从状态的方法详解

    这篇文章主要介绍了zabbix--监控MySQL主从状态的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-06-06
  • linux mysql 安装与操作

    linux mysql 安装与操作

    mysql是linux平台下最流行的数据库系统,今天介绍的是mysql的安装及简单的操作方法!
    2009-06-06
  • 21条MySQL优化建议(经验总结)

    21条MySQL优化建议(经验总结)

    这篇文章主要介绍了21条MySQL优化建议,均来自个人的实战经验总结,需要的朋友可以参考下
    2014-07-07
  • MySQL数据库中删除重复记录简单步骤

    MySQL数据库中删除重复记录简单步骤

    这篇文章主要给大家介绍了关于MySQL数据库中删除重复记录的相关资料,在使用数据库时,出现重复数据是常有的情况,但有些情况是允许数据重复的,而有些情况是不允许的,当出现不允许的情况,我们就需要对重复数据进行删除处理,需要的朋友可以参考下
    2023-08-08
  • 详细解读分布式锁原理及三种实现方式

    详细解读分布式锁原理及三种实现方式

    这篇文章从三种基于不同形式的分布式锁的实现,数据库、缓存和zookeeper,内容比较详细,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • mysql合并字符串的实现

    mysql合并字符串的实现

    这篇文章主要介绍了mysql合并字符串的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08

最新评论