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

从 Anemometer BUG 到 FRM 文件恢复

按下锅盖,起了瓢,最近MYSQL 的测试服务器,因为整改,原来的设置, 所有的文件都没有per file ,而是都在一个ibd 文件,整改后就出了问题,数据读不出来了,测试的数据倒是不重要,但是表结构对于测试时重要的...,开发人员希望能恢复MYSQL 的表结构,根据原来的经验,直接的选择就是 mysql-utilties 工具集合里面的 frm文件修复,本来想的很简单,现实很骨感,服务器上的PYTHON 版本 3.6,...由于对于python + LINUX 的更换版本的操作,本人表示,很白痴。...搞到最后,连YUM 都不OK 了,(因为YUM 使用PYTHON),所以最后的结果是从新找了太干净的机器,按照老的方法把 mysql-utitiles 装上,然后恢复FRM 文件,本来还在担心这个工具集已经走到生命的终点...后来一想,MYSQL 8.0 就没有 FRM 文件了,这个功能就不需要在担心了。

69520

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

// 利用frm文件和ibd文件恢复表数据 // frm文件和ibd文件简介 在MySQL中,如果我们使用了默认的存储引擎innodb创建一张表,那么在文件夹下面就会出现表名.frm和表名.ibd...innodb的表数据文件,而frm文件是innodb的表结构文件,mysiam存储引擎的表中,frm是表结构,MYI文件是索引文件,而MYD文件是数据文件,从这里也可以看出,innodb存储引擎的索引和数据是在一起的...我们可以使用frm文件盒ibd文件来对数据进行恢复。下面我们分析分析这个过程。 ? frm文件恢复表结构 当然,表结构需要使用frm文件恢复。...总结一下利用frm文件恢复表结构的步骤: 1、首先创建一个同名的表,然后启动实例 2、使用备份的frm文件替代生成的frm文件,重启实例 3、查看错误日志,从错误日志中获取到备份的frm文件中的字段数量...简单总结一下 整个恢复的流程算是介绍完了,其中比较巧妙的地方就是从frm文件中获取表结构信息,我们使用了两次拼凑表创建语句的方法,最终得到了待恢复的表的表结构,然后使用alter table discard

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

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

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

    2.7K20

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

    作者自述: 写这篇文章我是非常不情愿的,我现在是在写这篇文章,但是同时我也在恢复我服务器数据库的数据,出这篇文章也是在我的意料之外,由于我正在这件事类,我就出一版这样的mysql.frm.ibd文件数据恢复教程...,那你直面的就不是sql文件,而是.frm与.ibd文件。...这里顺便介绍一下.frm文件与.ibd文件与.ibdata文件 .frm:与表相关的元数据信息都存放在.frm文件中,主要是表结构的定义信息,不论什么存储引擎,每一个表都会有一个以表名命名的.frm文件...覆盖新建的表.frm 4 开启mysql服务 net start mysql 5.在mysql安装目录data文件夹下用文本编辑器打开.err文件 找到错误日志 然后删除当前表 新建4个字段的同名表,...好,我们有了表结构后,我们现在需要恢复表数据 分离表空间 使当前.ibd的数据文件和.frm分离。

    2.6K40

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

    本文链接:https://blog.csdn.net/xmt1139057136/article/details/93812537 昨天,微信群里一位网友问到:“备份的 frm文件恢复,有的提示表不存在为什么...根据网友的截图得知是他在恢复数据文件 .frm 时,报出的异常。error: 1146: Table ‘xxx’ doesn’t exist ?...根据列表文件中的后缀名都可以判断出,我使用的是 InnoDB 存储引擎。下面我们就以 InnoDB 为例,来说说数据文件恢复教程。...然后,我们将 test_2019.ibd 和 test_2019.frm 两个文件复制到本地的其他目录。 要恢复 test_2019 这张表,我们先要用 SQL 创建出这种表。 ?...表创建出来之后,我们就可以到 /usr/local/var/mysql/test/ 替换 test_2019.ibd 和 test_2019.frm 两个文件了。 接着重启 MySQL 服务即可了。

    2.9K20

    恢复mysql数据结构(.frm)和数据(.ibd)

    问题: 在linux环境从新安装呢lnmp,mysql没有导出。...简介: 1.后缀名为.frm文件:这个文件主要是用来描述数据表结构和字段长度灯信息 2.后缀名为.ibd的文件:这个文件主要储存的是采用独立表储存模式时储存数据库的数据信息和索引信息; 3...; 5.ibdata1文件:主要作用也是储存数据信息和索引信息 解决: 数据库的存储引擎 1:如储存引擎采用的是MyISAM,则生成的数据文件为表名.frm、表名.MYD、表名的MYI;...2:而储存引擎如果是innoDB,并且采用独立储存的模式,生成的文件是表名.frm、表名.ibd; 3:如果采用共存储模式的,数据信息和索引信息都存储在ibdata1中; 本地恢复 1,服务器...mysql的数据库(路径:/usr/local/mysql/var/mysql)(包含.frm,.ibd等)拷贝到本地的data下面。

    1.4K20

    Linux 恢复删除的文件

    Linux 下的命令可谓繁多,但属rm最让人痛并快乐。今天,我分享下针对rm的后悔良药testdisk。...当你在 Linux 系统上删除一个文件时,它不一定(嗯,是不一定~)会永远消失,特别是当你最近才刚刚删除了它的时候。而恢复已删除文件的最佳工具之一testdisk可以帮助你拯救它。...虽然testdisk具有广泛的功能,包括恢复丢失或损坏的分区和使不能启动磁盘可以重新启动,但它也经常被用来恢复被误删的文件。...有趣的是,它不仅是一个 Linux 工具,而且还适用于 MacOS、Solaris 和 Windows。文档可在 https://www.cgsecurity.org 中找到。...安装# debianapt install testdisk# centosyum install testdisk恢复文件cd /mnt/recoverytestdisk /dev/sdb2然后,一路默认选项

    14.1K20

    linux 误删文件恢复_centos删除的文件恢复

    ticket=ST-491405-OGjDDusZeyMgVQ7bHW7f-passport.csdn.net 前言 作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。...尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。...不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的 一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式 二、为方便本次实验,我们新创建一文件。...三、执行删除操作 rm -rf web_1.txt 四、运用,系统自还工具debugfs来修复 五、打开,刚刚被删除文件所在的分区 **********************************...qiut 十,执行如下命令 bs与下图offset值一致,skip与block值一致 十一,以上结果表示恢复成功我们看下/opt/wb_1目录下到底有没有 回复成功!

    7.2K30

    Linux 备份及恢复 Linux 文件权限

    但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限;或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作。...在这些情况下,我们可以在原始文件权限改变之前对其进行备份,一会我们需要它的时候再将原始权限还原。在很多情况下,如果你只是想要备份文件的权限,那么完整的文件备份是不必要的。...在Linux上,实际上备份和恢复文件权限使用访问控制列表(ACL)是容易的。ACL根据不同的属主和属组在兼容posix的文件系统上定义了单个文件的权限。 ?...---- 安装ACL工具 在Debian, Ubuntu,Linux Mint上 $ sudo apt-get install acl 在CentOS,Fedora,RHEL上 $ sudo yum install...- 1 xgj xgj 231 Jan 16 12:32 permissions.txt -rwxrwxrwx 1 xgj xgj 420 Jan 16 12:14 sys_info.sh ---- 恢复原有权限

    8.1K10

    Linux恢复误删文件的操作

    Linux下,有时候我们可能会误删除一些文件,此时除了慌张,有什么可以补救的措施? 删除文件恢复可以分为两种情况,一种是删除以后在进程中仍存在删除信息,另一种是删除以后进程都找不到。...在Linux环境下,任何事物都以文件的形式存在,例如,普通的文件、目录、网络文件系统的文件、字符设备文件、(函数)共享库、管道,命名管道、符号链接、底层的socket字流,网络socket,unix域名...当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问该文件,那么我们就可以通过lsof从/proc目录下恢复文件的内容。...此时打开另外一个会话,删除该文件, [oracle@app ~]$ rm -rf test.txt 当前场景下,如果想要恢复这个文件,可以执行如下的指令,搜索“deleted"的文件,可以看到存在一条记录...此时想要恢复文件只需要将其复制到指定路径, [oracle@app fd]$ cp 1 /home/oracle/test.txt 用lsof恢复文件还是很简单的,但是前提是使用这个文件的进程必须存在

    3.3K40

    Linux恢复误删文件的操作

    Linux下,有时候我们可能会误删除一些文件,此时除了慌张,有什么可以补救的措施? 删除文件恢复可以分为两种情况,一种是删除以后在进程中仍存在删除信息,另一种是删除以后进程都找不到。...在Linux环境下,任何事物都以文件的形式存在,例如,普通的文件、目录、网络文件系统的文件、字符设备文件、(函数)共享库、管道,命名管道、符号链接、底层的socket字流,网络socket,unix域名...当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问该文件,那么我们就可以通过lsof从/proc目录下恢复文件的内容。...此时打开另外一个会话,删除该文件, [oracle@app ~]$ rm -rf test.txt 当前场景下,如果想要恢复这个文件,可以执行如下的指令,搜索“deleted"的文件,可以看到存在一条记录...此时想要恢复文件只需要将其复制到指定路径, [oracle@app fd]$ cp 1 /home/oracle/test.txt 用lsof恢复文件还是很简单的,但是前提是使用这个文件的进程必须存在

    2.5K20

    Linux 误删文件恢复命令and方法

    1、查看要恢复文件的分区的文件系统 df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs...umount /xxx 3、查看可以恢复的数据 指定误删文件的分区进行查找 最后一列标记为Deleted的文件,即为删除了的文件 [quote color="primary"]extundelete.../dev/vdb1 --restore-directory ferris[/quote] 当执行恢复文件的命令后,会在执行命令的当前的目录下生成RECOVERED_FILES目录,恢复文件都会放入此目录中...5、恢复单个文件 指定要恢复文件名 如果几k大小的小文件,有很大几率恢复失败 [quote color="primary"]extundelete /dev/vdb1 --restore-file openssh...-7.7p1.tar.g[/quote] 6、恢复全部删除的文件 无需指定文件名或目录名,恢复全部删除的数据 [quote color="primary"]extundelete /dev/vdb1 -

    1.6K20

    如何恢复Linux中的误删文件

    所以最好的方法就是当你意识到你误删了某一份文件时,就立刻开始进行文件恢复工作。你等的时间越久,成功恢复误删文件的可能性也就越低。 如何恢复Linux平台下的误删文件?...目前我们有很多种方法可以恢复Linux平台上的误删文件,其中主流的两个选项就是TestDisk/PhotoRec和extundelete。...PhotoRec可以忽略文件系统的类型,并直接从介质底层恢复数据。因此,在介质的文件系统受到严重破坏或被重新格式化后,它同样能够进行数据恢复。...PhotoRec支持的操作系统平台 -DOS/Win9x -Windows NT 4/2000/XP/2003/Vista -Linux -FreeBSD, NetBSD, OpenBSD -Sun Solaris...通常情况下,在进行文件恢复工作的时候,我们要先将文件系统重新挂载,然后给它分配只读权限。完成之后,再将恢复文件写入另外一个文件系统中,这样可以避免原始数据所在的存储区域被覆盖。

    6.5K80

    【CVM】Linux 误删除文件怎么恢复

    Linux 误删除文件一般场景如下: 场景一:删除文件时,文件正在被其他进程调用 场景二:删除文件时,文件没有被其他进程调用 场景一:删除文件时,文件正在被其他进程调用 技术原理 对于进程正在使用文件的场景...,数据可以恢复是由于Linux系统下文件包含两个部分:inode 和 block ,其中 inode 中每个文件都有 2 个计数器:i_count 和 i_nlink 。...i_count :当一个文件被一个进程引用时,其数值会增加 1,主要是用来记录文件被进程引用的次数 i_nlink :记录硬链接个数 恢复示例 1.创建测试文件 Delete.txt ,并使用 tail...4.在 /proc/21205/fd 目录下查找 Delete.txt 文件(fd 目录下可查看当前进程持有的文件句柄); image.png 5.使用 cp 命令直接恢复到对应目录,核实文件完整性;...命令核实此磁盘 block 中被删除的文件信息【extundelete /dev/vdb --inode 2】; image.png 6.extundelete 命令恢复文件和目录; extundelete

    9.1K10
    领券