首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Shell恢复MySQL .frm和.ibd文件

这是学习笔记的第 1901篇文章 MySQL里面对于表的默认的配置是每个表都有独立的文件.ibd和.frm文件对应,对于数据恢复来说,会提供很大的便利。...其中.frm文件存储了表结构定义信息,而.ibd文件存储了真正的数据。...如果某种特殊情况下,你只有.frm文件和.ibd文件,能不能单独恢复出来数据呢,答案是肯定的,当然这个过程不是一个命令搞定,而是需要一些方法和技巧。...比如.frm文件,我们拿到这个二进制文件的时候,其实我们也不知道里面到底有多少字段,怎么把DDL结构解析出来呢,这是第一个问题,而这个问题解决了之后,后续的问题其实就迎刃而解,我们可以完全使用迁移表空间的方式来处理...所以在恢复.frm和.ibd文件的时候,难点在于如何解析得到建表的DDL语句。 在这里我们要做个小把戏,需要预创建一个同名的表,然后通过交换frm文件来变相得到DDL语句。

2.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

宝塔面板用frm和ibd文件恢复Mysql数据

,那你直面的就不是sql文件,而是.frm与.ibd文件。...这里顺便介绍一下.frm文件与.ibd文件与.ibdata文件 .frm:与表相关的元数据信息都存放在.frm文件中,主要是表结构的定义信息,不论什么存储引擎,每一个表都会有一个以表名命名的.frm文件...服务 net stop mysql 或者点击计算机--管理--服务--找到Mysql 然后关闭 3 复制备份的.frm覆盖新建的表.frm 4 开启mysql服务 net start mysql 5....服务 net stop mysql 然后再复制备份的.frm覆盖新建的表.frm 修改配置文件my.ini在[mysqld]下添加/修改innodb_force_recovery=6,一般这一段是没有的...ALTER TABLE wp_commentmeta DISCARD TABLESPACE; 然后复制备份的.ibd文件覆盖新的表数据 重启mysql 导入这个表空间 ALTER TABLE wp_commentmeta

2.6K40

mysql文件导入sqlserver_mysql导入sql文件命令

问题来源 有的时候,在使用MySQL数据库建表时,可能不需要直接在mysql数据库中建表,而需要导入外部已有的数据库表文件,方便我们使用。那么导入的方法呢?...这里介绍一个很普遍也很简单的方法,步骤如下: 导入步骤 打开MySQL数据库,黑窗界面,如图: 这里输入密码 ‘root’,回车。。。...(说明:如果sql文件的内容中有创建数据库的语句,或者想将表存放在已有的数据库,在这里就不需要再创建数据库。即直接使用已经有的数据库即可。。) 输入“use 数据库名”,开始使用这个数据库。...如图: 导入已有的sql文件,这里我把 house.sql 放入D盘里, 然后,开始导入sql文件,输入“source sql文件的路径”(注意文件路径,要将””全部换成“/”)。

10.6K20

MySQL备份文件.ibd、.frm、.MYD、.MYI的恢复教程

根据网友的截图得知是他在恢复数据文件 .frm 时,报出的异常。error: 1146: Table ‘xxx’ doesn’t exist ?...MySQL 数据库是具有持久化能力的。也就是说它的所有数据,其实最终都是存储在文件中的。如果你用的是 MyIsAM,则一张表数据文件有 3 个。 ?...如果是 InnoDB,则一张表有 2 个数据文件。 ? 且这些文件,一般在你安装 MySQL 目录中的 Data 目录中。 ?...然后,我们将 test_2019.ibd 和 test_2019.frm 两个文件复制到本地的其他目录。 要恢复 test_2019 这张表,我们先要用 SQL 创建出这种表。 ?...表创建出来之后,我们就可以到 /usr/local/var/mysql/test/ 替换 test_2019.ibd 和 test_2019.frm 两个文件了。 接着重启 MySQL 服务即可了。

2.9K20

mysql导入excel文件_将Excel数据导入MySQL「建议收藏」

正好想学习一下execl数据导入MySQL数据库的方法,于是开始尝试。...一开始使用的是MySQL for Execl功能,在安装MySQL的时候安装此控件,在Excel的数据菜单下可以直接调用,可以按照数据的前若干行判断数据库类型,但是比较鸡肋,因为时常判断不准,或者设置字段长度太短...1、用Navicat 10打开要导入数据的数据库 2、点击导入向导,选择导入文件格式 3、选择要导入的数据文件,如果有多个工作簿,可选择目标工作簿 4、填写导入的数据行数,日期数字格式 5、选择目标表...类型支持MySQL的各种常见类型(默认为varchar,长度255)。...7、选择数据导入模式 8、按开始键,导入数据 9、导出结果为 导入MySQL的数据可以通过导出向导再次导出为Excel文件。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

15.8K11

数据库导入sql文件_mysql导入sql文件命令

目录 一:准备工作—.sql文件 二:在编辑工具中打开创建的sql文件—存放指令并保存 三:右键点击运行SQL文件 打开.sql文件 点击开始,加载完成后点击关闭 再点击表—-刷新一下—–即可看到所有需要的表都已经被创建好了...四:在数据库中导出SQL脚本文件 全部记录 选择SQL脚本文件 自己勾选,点击下一步 下一步 下一步 点击开始 加载完成后点击保存 输入111(随意) 回到桌面即可看到导出的sql文件了...将.sql文件拖进编辑器—-可以查看相关指令 若是想看表的结果和数据 右键选择—转储SQL文件—结构和数据即可 五:查看表中的相关数据—-右键—-逆向表到模型 main中右键—逆向表到模型—可以查看所有表的相关属性...---- 一:准备工作—.sql文件 首先可以在桌面创建.text文件—-修改文件为.sql文件(如下) 二:在编辑工具中打开创建的sql文件—存放指令并保存 /* Navicat SQLite...sql文件了 将.sql文件拖进编辑器—-可以查看相关指令 若是想看表的结果和数据 右键选择—转储SQL文件—结构和数据即可 五:查看表中的相关数据—-右键—-逆向表到模型 main中右键

19.6K20

从 Anemometer BUG 到 FRM 文件的恢复

题目是Anemometer, 估计大部分不是MYSQLER的不大清楚这是个什么东西,其实这是几年前通过WEB界面查询MYSQL 慢查询的一个方法,安装上,通过一些脚本,就可以让每个MYSQL的服务器的慢查询显示出来...按下锅盖,起了瓢,最近MYSQL 的测试服务器,因为整改,原来的设置, 所有的文件都没有per file ,而是都在一个ibd 文件,整改后就出了问题,数据读不出来了,测试的数据倒是不重要,但是表结构对于测试时重要的...,开发人员希望能恢复MYSQL 的表结构,根据原来的经验,直接的选择就是 mysql-utilties 工具集合里面的 frm文件修复,本来想的很简单,现实很骨感,服务器上的PYTHON 版本 3.6,...搞到最后,连YUM 都不OK 了,(因为YUM 使用PYTHON),所以最后的结果是从新找了太干净的机器,按照老的方法把 mysql-utitiles 装上,然后恢复FRM 文件,本来还在担心这个工具集已经走到生命的终点...后来一想,MYSQL 8.0 就没有 FRM 文件了,这个功能就不需要在担心了。

69320

利用frm文件和ibd文件恢复表数据

// 利用frm文件和ibd文件恢复表数据 // frm文件和ibd文件简介 在MySQL中,如果我们使用了默认的存储引擎innodb创建一张表,那么在文件夹下面就会出现表名.frm和表名.ibd...,而frm文件是innodb的表结构文件,mysiam存储引擎的表中,frm是表结构,MYI文件是索引文件,而MYD文件是数据文件,从这里也可以看出,innodb存储引擎的索引和数据是在一起的,而Myisam...需要注意的是,这个frm文件和ibd文件都是不能直接打开的。...我们可以使用frm文件盒ibd文件来对数据进行恢复。下面我们分析分析这个过程。 ? frm文件恢复表结构 当然,表结构需要使用frm文件来恢复。...总结一下利用frm文件恢复表结构的步骤: 1、首先创建一个同名的表,然后启动实例 2、使用备份的frm文件替代生成的frm文件,重启实例 3、查看错误日志,从错误日志中获取到备份的frm文件中的字段数量

7.5K20

怎么将sql文件导入数据库_mysql导入sql文件命令

进入本地数据库 打开命令提示符行输入以下命令进入本地数据库 mysql -u root -p 2....创建数据库 新建一个新数据库用来导入.sql数据 CREATE DATABASE 数据库名; // 创建数据库 show databases; // 显示目前有的数据库 3....导入.sql文件导入.sql文件之前,设置一下编码模式,防止出现中文乱码的情况(第一次导入就出现了中文乱码,所以中添加一步防止出现乱码情况)。...use 数据库名; // 选择数据库 set names utf8;// 设置编码模式为utf8 source 数据库名.sql; // 导入sql文件,需要使用文件所在的路径 以上就是将.sql文件导入数据库的全部操作...,这是打开新建的数据库就能看到导入进去的表内容。

17.3K20

MySQL导入csv、excel或者sql文件

1.导入csv文件 使用如下命令: mysql> load data infile "your csv file path" into table [tablename] fields terminated...还有一点需要注意,csv文件或者文本文件的路径要使用绝对路径,否则mysql会默认从数据库存储的目录寻找,找不到就会报如下错误: ERROR 13 (HY000) at line 1: Can't get...使用LOCAL关键词,从客户主机读文件。不使用LOCAL,从服务器读取文件。 很奇怪的是,我的文件是在服务器上的,但是不使用local就会出错,真搞不明白! 2.导入excel文件 无需指定分割符。...直接使用下面的命令: mysql> load data infile "your excel file path" into table [tablename] 注意上面导入文件时,都需要提前建立好与文件内各个段对应好的数据表...---- 参考文献 [1]关于将EXCEL文件导入MYSQL数据库的一些方法 [2]linux命令行下导出导入.sql文件 [3]stackoverflow

7K40

关于mysql导入大文本txt文件

前几天在偶然的情况下,获得了一个18G的txt文件,现在需要导入到数据库中,那么该怎么导入才能保证高效并且稳定呢?...mysql插入效率 首先应该知道的就是mysql的插入效率跟下面几个点有关 1:mysql数据库引擎,myisam,innodb,甚至是memory的插入效率都是不一样 2:索引,索引也会导致插入效率变慢...3:唯一索引冲突,在插入mysql数据库时,如果有相同数据,将会报错,降低插入效率 4:mysql硬盘,机械硬盘跟固态硬盘的插入效率也是不一样的 5:导入方法,单线程多线程等 6:mysql配置项,各种缓存区大小配置...bigint(20) DEFAULT NULL,   PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 2者都通过 Navicat txt导入方式导入

3.8K30
领券