MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。

MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。

恢复表结构,在只有.frm文件发现创建的表不能打开。在有了表结构的SQL语句之后创建表,完全就不需要frm文件了,但是ibd文件里的数据还是不能直接覆盖数据库里。

数据表数据,在mysql5.7 下重新建表

这里用的Navicat工具,在表结构建好后,去MySQL 的data目录下找到对应数据库,发现frm文件和ibd文件。Navicat中可以看到表,但是数据是没有的,这里将ibd文件覆盖之后发现数据表不能打开,会报[Err] 1146 - Table 'users' doesn't exist。

ibd文件覆盖,需要先放弃表空间,在创建表结构的时候,需要在sql语句后加上 ROW_FORMAT=COMPACT;将表结构改为静态表。

然后在命令行放弃表空间;删除刚才新创建的ibd文件;mysql> ALTER TABLE产品DISCARD TABLESPACE;

之后将 ibd文件覆盖,重启MySQL服务,导入这个表空间;mysql> ALTER TABLE产品IMPORT TABLESPACE;

显示Query OK , 0 rows affected ,成功之后表数据就会在表中,在这中间可能会出现

将MySQL服务强行关闭的情况,停掉mysql服务后,然后在配置文件my.ini中修改innodb_force_recovery = 1,再启动服务。

进行上一步操作,等数据表数据完成后再删除掉。

至此,使用.frm和.ibd文件恢复数据库数据的结束。

注意:最好重新配置一个空的MySQL来进行恢复操作,这样不会影响到MySQL下别的数据库,本例中使用的是MySQL 5.6.39版。

本文由职坐标整理发布,欢迎关注职坐标MySQL频道,学习更多数据库知识!

mysql frm ibd 创建表_MySQL数据库实现从.frm文件和.ibd文件恢复数据表方法相关推荐

  1. PHP学习笔记 第八讲 Mysql.简介和创建新的数据库

    八.Mysql.简介和创建新的数据库 1.mysql简介与概要 mysql是一个小型关系型数据管理系统,开发者为瑞典mysqlab公司现在已经被sun公司收购 1.可以处理拥有上千万条记录的大型数据 ...

  2. mysql工资修改为空_mysql数据库技术1——基本的增删查改的sql语句

    1.数据库语言的分类 DDL:数据库定义语言 data Definition language 用于创建.修改.和删除数据库内的数据结构,如: 1:创建和删除数据库(CREATE DATABASE | ...

  3. mysql黑窗口常用命令_mysql数据库常用命令

    1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...

  4. mysql 查询不为0的数据_查询数据库中所有记录总数不为0的数据表名称

    [如何查询postgreSQL 里面某个数据库中所有用户定义的数据表的名字@forandever 2011-11-131.通过命令行查询\d 数据库  -- 得到所有表的名字\d 表名  -- 得到表 ...

  5. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  6. 数据恢复利器:通过frm文件恢复数据表的sql结构语句

    如果数据库崩溃又没有做数据备份,只有.frm表结构文件,怎么做表的结构恢复?下面介绍两种方法 了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.fr ...

  7. myisam数据表根据frm文件恢复数据表

    有时,我们重装mysql时,可能忘记备份数据了, 只留下了之前的mysql下面的data文件夹里的数据, 这时我们应该如何去恢复数据表呢 如果直接将原来的data目录导进现在的mysql,肯定是不行的 ...

  8. Navicat备份恢复数据表及表结构

    一:使用Navicat备份数据表 1.运行Navicat并链接数据库 2.选择需要备份的数据表,鼠标右键弹出菜单选择"转储SQL文件"–>"结构和数据", ...

  9. 用mysql创建一张电子杂志表_MySQL数据库——动手实践: 电子杂志订阅表的操作

    数据库的学习在于多看.多学.多想.多动手,只有将理论与实际相结合,才能够体现出数据开发与管理的重要性,展现知识学习的价值与力量.接下来请结合本章所学的知识完成电子杂志订阅表的操作. [实践目标] 此实 ...

最新文章

  1. python3 转换json数据的单引号双引号注意点
  2. php数组的奇数_用php输出一个数组中的偶数或奇数的方法
  3. 算法训练 区间k大数查询
  4. [名词解释] intuitive
  5. 在Vista下配置VS2003
  6. 4道Python基础文件操作函数 练习题
  7. mysql2008r1_mysql8 参考手册-分区修剪
  8. ACM-ICPC 2018 焦作赛区网络预赛
  9. 史上最详细 纯CSS打造3D文本滚动
  10. Azure上基于HTTP trigger的Lambda Function
  11. BROCADE 300和MD3200扩展柜FC SAN,截图
  12. MySQL 优化 —— MySQL 如何使用索引
  13. jQuery菜鸟总结
  14. linux服务器安装gmt,linux 安装GMT详解 (zhuan)
  15. 分库分表学习总结(3)——深入理解分布式事务
  16. 01-3安装离线springsource-tool-suite的时候非常缓慢问题解决方案
  17. 2018年第31周-hive支持的Delete和Update的配置
  18. matlab 帕多瓦数列 通项公式_matlab通分.ppt
  19. com.documents4j.throwables.ConverterAccessException: The converter seems to be shut down 异常解决方案
  20. JavaScript中的变量声明

热门文章

  1. 全球与中国玻璃通孔中介层市场深度研究分析报告
  2. 简七32堂极简理财课——模块三:日常理财,让你时时刻刻都有钱
  3. git第一次提交代码到远程仓库
  4. Unable to chmod sdcard: Read-only file system
  5. 74HC148引脚图及功能
  6. P2【商业级MMORPG大型网游】Unity全栈开发 笔记
  7. echarts的中国地图,点击进入省级地图,按需加载对应的省js,可返回中国地图
  8. ubuntu 系列linux下载edk2链接文件
  9. 中职计算机应用专业(大数据方向)建设实践
  10. 经济与金融大数据挖掘——知识点总结回顾