MySQL使用frm和ibd文件恢复数据

【Mysql5.7根据frm和ibd文件恢复数据 本文介绍了MySQL数据库表结构和数据恢复的完整步骤。若表结构未知,需进行1-7步操作:修改配置文件启用恢复模式、查看错误日志、替换frm文件、重启服务并重建对应字段数的表结构。已知表结构则直接执行第8步替换frm文件恢复结构。数据恢复部分需注释恢复参数,通过替换ibd文件并结合discard/import tablespace命令完成数据导入。整个流程涉及文件权限修改、服务重启等关键操作,需注意控制台日志提示的字段数信息。 阅读详情

本文所述内容,均是本人亲测,并非复制粘贴转载

环境:CentOS 6 X64

MySQL 5.6.36

独立表空间(my.cnf中 innodb_file_per_table = 1)   否则无法恢复


情景描述:

由于操作人员对服务器,直接物理重启,导致MySQL无法启动

查看错误日志显示mysql的数据文件中ibdata1文件损坏,导致无法启动


于是开始从百度上搜各种解决方法,不知道那些人是怎么操作的,直接把系统库重新初始化,然后就没有下文了!

重新初始化系统库,MySQL是可以正常启动,但是以往的数据库是不能用的,不知道那些人是怎么用的。。。。


解决方法:

第一步:重新初始化系统库,当然最好换一个目录

例如我的MySQL数据目录在/data/mysql     那就新建一个目录,或者把mysql备份一下,然后把目录中的文件全部删除,空目录

到mysql安装目录/usr/local/mysql/scripts下执行初始化脚本  :  

 ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data       #mysql_data是新建的目录,也可以用原来的目录


第二步:重新设置mysql的root密码等,和远程连接设置,启动MySQL

第三步:新建数据库,最好是跟之前的数据库名相同,不相同应该也可以,导入之前的数据库表,有无数据无所谓(我只导了空表进去)

第四步:关闭MySQL,然后复制要恢复的数据库表的ibd文件

cp -rp /data/mysql/callcenter/cdr.ibd /home/back/cdr.ibd   #备份过的ibd文件

cp -rp /data/mysql_data/callcenter/cdr.ibd  /home/install/cdr.ibd   #新生产的ibd文件


第五步:编辑ibd文件

cd /home/install/   

vi -b cdr.ibd      #以16进制打开文件


命令行下输入: %!xxd   转换成16进制显示




记下0000020那一行的第3列和第5列的值


我们将要恢复数据的cdr.ibd的值改成与新建表的ibd文件中的值相同,否则会提示表不存在


修改完后,命令行模式下输入 :%!xxd -r  返回原来的显示方式,执行保存退出(修改的是要恢复的文件,不是新生成的)


修改完成后,覆盖现有的ibd文件

cp /home/back/cdr.ibd /data/mysql_data/callcenter/   


第六步:修改my.cnf   添加

innodb_force_recovery=6



启动MySQL后,就可以看到以前的表数据了,使用mysqldump工具把数据导出来

恢复新的ibd文件,把innodb_force_recovery=6注释掉,启动mysql就ok了



其他情况,请参照 http://blog.youkuaiyun.com/ys1109/article/details/40187217   这篇文章的编辑ibd文件命令是错的,我被坑了一下

MySQL管理工具MySQL Utilities->mysqlfrm,frm和ibd恢复数据 可选的数据库名称也可以使用路径,如 /home/me/oltp:t1.frm,将使用oltp作为数据库名。如果不想最后的文件夹作为数据库名,只需指定冒号,如 /home/me/data1/:t1.frm,在这种情况下,CREATE语句将忽略数据库。需要指定.frm文件的路径,也可以指定一个目录,该目录下的所有.frm文件将被读取。数据库要求:innodb_file_per_table=1 共享表空间:数据库wubo,表t1,此时在磁盘wubo目录下有t1.frm表结构但是没有t1.ibd数据文件。 阅读详情

相关推荐

MySQL通过frm和idb恢复数据库的方法

基于本地MySQL操作 原因:比较方便 这个方法比较繁琐 有一步到位的大佬可以留言指教 一、安装PHPstudy、Navicat(MySQL连接工具) 二、本地数据库创建数据库 三、执行恢复(重点) 1、创建要恢复的表 2、执行解除绑定 alter table 要恢复的表名 discard tablespace; 3、找到本地数据库文件报错的地方 4、关闭MySQL 5、复制要恢复的表的备份的.ibd文件 6、绑定frm和idb文...

不二青春 3541

mysql根据.frm和.ibd恢复数据

..

weixin_53266029的博客 8999

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

文章目录frm文件和ibd文件简介frm文件恢复表结构ibd文件恢复表数据 frm文件和ibd文件简介 在MySQL中,使用默认的存储引擎innodb创建一张表,那么在库名文件夹下面就会出现表名.frm和表名.ibd两个文件 ibd文件是innodb的表数据文件 frm文件是innodb的表结构文件 需要注意的是,frm文件和ibd文件都是不能直接打开的 恢复数据之前,需要先恢复表结构 在有建表语句的前提下,可以直接跳到ibd文件恢复表数据,不需要使用frm文件恢复表结构 frm文件恢复表结

以梦为马|越骑越傻 1万+

[mysql] 如何将拷贝过来的数据 *.ibd 文件生效 及查看数据存储位置

(为转载博客,为方便日后查找) 1.将拷贝的数据文件 "qqq.idb"放在自己的数据库中. 一般存放在 mysql/data/databasename 下 2."qqq.idb" 改个名字-->"qqq--.idb", 主要是避免冲突! 3.执行 create table qqq(...) 语句,此时除了会生成一个 qqq.frm, 文件,还会新生成一个qqq.idb文...

weixin_33897722的博客 2017

宝塔面板使用.frm与.ibd文件恢复Mysql数据

写这篇文章我是非常不情愿的,我现在是在写这篇文章,但是同时我也在恢复我服务器数据库的数据,出这篇文章也是在我的意料之外,由于我正在这件事类,我就出一版这样的mysql.frm.ibd文件数据恢复教程,希望这次教程可以帮助到更多需要恢复的人,我现在是情绪暴涨 我先说一下我的服务器崩溃经过,wordpress博客网站,宝塔输入了rm指令导致全服务器文件被删完,因为我是阿里云的服务器,所以我可以去找那边的工程师来达到紧急修复(这里也建议在商业化云服务那里购买主机的人一旦出现问题就找服务商工程师),他们解决的很快,

weixin_42052535的博客 1802

cadence Virtuoso ADE原理图库中的VCVS(压控电压源)使用

Symbol: vcvs (Voltage Controlled Voltage Source) Vop−Von=egain⋅(Vip−Vin)V_{op}-V_{on}=egain\cdot(V_{ip}-V_{in})Vop​−Von​=egain⋅(Vip​−Vin​) 所以可以得出 ⟹Vop=egain⋅(Vip−Vin)+Von\Longrightarrow V_{op}=egain\cdot(V_{ip}-V_{in})+V_{on}⟹Vop​=egain⋅(Vip​−Vin​)+Von​ 使

大学生视野 2万+

【MySQL】从frm和ibd文件恢复数据

参考文章: MySQL 利用frm文件和ibd文件恢复表数据https://www.jb51.net/article/208438.htm MySQL通过frm和ibd恢复表结构和数据的办法【基于Linux和MySQL5.6.23测试】https://www.cnblogs.com/silentdoer/p/14689588.html 假设要恢复的备份表文件为test.frm和test.ibd 从frm文件中恢复表结构 进入mysql mysql -u root -p Enter pa..

CS之路 4070

用workbuddy自定义Skill:手把手搭建AI炒股分析助手

AI Agent正成为个人投资研究的重要工具,而Skill作为行为规范,能让AI输出保持稳定与专业。在AI Agent应用中,很多人分不清Skill与Agent的区别:Agent负责目标拆解与执行,Skill则固化分析流程与输出模板。借助本地工作台workbuddy,用户可自定义Skill,实现从市场环境检查到财务排雷的五段式分析。通过调低温度参数、设定数据验证规则,该方案能有效避免大模型凭空编造数据,帮助个人投资者快速完成基本面体检、资金面观察与风险清单生成。本文基于一套可直接套用的配置与一个月实测,展示

weixin_29038537的博客 522

MySQL仅从.frm和.ibd文件恢复数据

前言 MySQL的数据库其相关文件都会存放在安装目录下data文件夹下的同命文件夹中,不用的存储引擎创建的表其文件也不一样,下面来认识下这些数据库文件。 db.opt 用来记录该库的默认字符集编码和字符集排序规则用的。也就是说如果你创建数据库指定默认字符集和排序规则,那么后续创建的表如果没有指定字符集和排序规则,那么该新建的表将采用db.opt文件中指定的属性。 .frm 与表相

真新镇的涅法雷姆 1万+

Vscode远程免密连接Linux虚拟机,并配置C/C++运行环境

目前想要深入学习在Linux,也为了方便编写C/C++程序。Linux的环境里一般自带有c++的编译环境,如果没有安装gcc和g++等编译器也比较便利。但是在虚拟机里用vim编写C++程序又不得劲,因此打算使用vscode远程连接Linux虚拟机进行学习。为了防止自己以后还要再配置,重复踩坑,因此写下这篇博客用做记录。环境:windows11、VMware17、rocky linux9.1 ( 开源的CentOS9 )

m0_56779872的博客 8677

峰岹FU6832L双核电机控制芯片实战:从FOC算法到BLDC/PMSM驱动开发

在嵌入式系统和电机控制领域,磁场定向控制(FOC)是实现无刷直流电机(BLDC)和永磁同步电机(PMSM)高效、平稳运行的核心算法。其原理是通过坐标变换将三相交流量分解为直流量,实现类似直流电机的转矩与磁场解耦控制,从而提升效率、降低噪音与振动。这项技术的工程价值在于能以更低的处理器开销实现高性能驱动,广泛应用于消费电子、工业自动化与智能家电。本文以峰岹FU6832L芯片为例,深入解析其独特的双核架构——将实时性要求极高的FOC运算交由专用硬件引擎处理,解放主控CPU处理应用逻辑,并结合PID参数整定、电流

weixin_29570795的博客 512

MySQL通过frm文件和ibd文件恢复数据

有时候可能手误删除了某表,想着能恢复原来的表结构及数据,这时候可以通过之前的frm文件和ibd文件恢复; frm文件:表的结构信息 ibd文件:表的字段值信息 以上文件默认均在mysql安装目录data文件夹下对应的数据库名文件夹中 第一步:创建同名表(如果连表明都忘记了那就GG了) net start mysql启动mysql创建同名表,记得字段个数的话就直接创建记得的N个字段,字段名...

weixin_41688518的博客 3846

从零开始,用Cadence Virtuoso手把手仿真一个1.5V LDO(附完整电路与仿真脚本)

本文详细介绍了如何使用Cadence Virtuoso从零开始仿真一个1.5V LDO,包括环境准备、电路导入、Testbench构建、核心仿真类型分析以及高级调试技巧。通过完整的电路与仿真脚本,帮助读者掌握LDO设计与仿真的关键技术,提升电路设计能力。

weixin_31309419的博客 445

MySQL数据库如何通过frm、ibd文件恢复表数据?

MySQL数据库如何通过frm、ibd文件恢复表数据?

chenoracle的博客 1551

用逻辑分析仪实测EM4095:125kHz RFID耳标解码的电压与脉宽玄学

本文通过逻辑分析仪实测EM4095芯片,深入解析125kHz RFID耳标解码中的电压与脉宽关联现象。揭示了供电电压对曼彻斯特编码脉宽的影响规律,并提供了一套可落地的调试方法论,包括信号链路解析、逻辑分析仪配置技巧及系统级稳定性提升方案,帮助开发者解决解码不稳定问题。

weixin_30629653的博客 328

计算机补码两位乘法移位补0还是1,补码两位乘.doc

补码两位乘沈阳航空航天大学课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现补码两位乘法院(系):计算机学院专 业:计算机科学与技术(嵌入式系统方向)班 级学 号:2009040101181姓 名:张驰指导教师:杨华完成日期:2012年1月14日目 录第1章 总体设计方案11.1设计原理11.2设计思路11.3设计环境2第2章...

weixin_34471838的博客 967

mysql从.frm和.ibd文件恢复数据库

下载 MySQL Utilities http://dev.mysql.com/downloads/utilities/ 需要安装https://www.microsoft.com/en-us/download/details.aspx?id=40784 1、管理员打开cmd,使用mysqlfrm.exe工具恢复出表的创建语句 mysqlfrm --serve

雜貨鋪 7795

STM32CubeMX、keil、simulink联合开发MCU教程

一、整体思路 利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。 本文以流水灯建立模型和简单使用定时器为例进行演示。 二、开发环境 1、安装Matlab Matlab版本建议在2013B以上,本文使用Matlab 2016a。 2、安装STM32硬件支持包 下载地址(https://www.stmcu.org.cn/document/detail/index/id-216053) 安装完成后重启MAT

tzlaa的博客 7736

Mysql仅从.frm文件和.ibd文件恢复数据表

一次恢复数据库表数据的任务,在此之前感谢指导我的各位前辈。1,刚拿到数据库文件,打开里面只有frm和ibd文件 。 对于数据库了解不深,而像这种恢复数据的工作也没有做过,因此首先百度了一下.frm和.ibd文件是做什么的,见下:  MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。  MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini...

qq_39187488的博客 5416

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

MySQL 5.7 通过frm和ibd文件恢复数据

dbsake恢复表结构, 重载ibd文件恢复表数据

我爱吃稀饭的博客 2468

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Mysql怎样实现仅从.frm文件和.ibd文件恢复数据表?

Mysql怎样实现仅从.frm文件和.ibd文件恢复数据表? 一次恢复数据库表数据的任务,在此之前感谢指导我的各位前辈。 1,刚拿到数据库文件,打开里面只有frm和ibd文件 。 对于数据库了解不深,而像这种恢复数据的工作也没有做过,因此首先百度了一下.frm和.ibd文件是做什么的,见下: MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。...

IT技术宅-北方的刀郎 1539

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

通过frm和ibd文件恢复mysql数据

先把自动生成的ibd文件删除。再导入自己要恢复的数据。

nick_zhang的博客 639

mysql根据.frm和.ibd文件恢复表结构和数据

今天吐血向大家分享下mysql通过.frm和.ibd文件恢复数据的方法,因为之前电脑换系统的原因,忘记备份数据库,最后只能通过恢复工具找到数据库的.frm和.ibd文件,至于这两类文件,可以通过winhex软件查看,该软件的破解版传送门:http://download.youkuaiyun.com/download/hzw19920329/9987735,为了恢复数据,今天踩了不少坑,下面把我成功恢复的过程分...

qq_40787608的博客 786

MySQL 通过.frm 和 .ibd文件恢复数据

MySQL 通过.frm 和 .ibd文件恢复数据 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一份详细的教程,介绍了如何使用MySQL数据库的.frm和.ibd文件来恢复数据。以下是该资源文件的简介: 本教程详细讲解了MySQL数据库中.frm和.ibd文件的结构及其在数据恢复过程中的重要作用。通过逐步分析,深入浅出地介绍了如何利用这些文件进行数据恢复,帮助用户...

gitblog_06718的博客 502

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

一、恢复表结构1、环境:Windows 、mysql5.7;首先创建一个数据库,可以通过navicat来创建:2、使用当前创建的数据库:use ww;3、随意创建一张表,但是这张表的名字要和你要恢复的.frm或者.ibd一致,我的.frm与.ibd文件为gonggao.frm与gonggao.ibd 因此我的创建表语句为:create table gonggao(id int);4、在执行上面的创...

weixin_39723519的博客 806

记一次mysql根据.frm.ibd文件恢复数据

记一次mysql根据.frm.ibd文件恢复数据 背景: 公司用的阿里云mysql 5.6数据库,阿里云的控制台上做了两天一备份的设置。当我发现我误操作drop了一张表之后,我从控制台上下载了备份的压缩包,解压之后拿到我drop的那张表(sys_users)的.frm.ibd文件 1:本地建一个相同的数据库(AA)和相同表结构的表(sys_users) (一定要一摸一样的表结构) (这一步之后,在...

qing930419的博客 995
上一篇: Dialplan的xml结构体switch_caller_extension_t
下一篇: xml_curl请求dialplan数据参数
okhelper
博客等级 码龄19年 57粉丝 90原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值