RDS中的.frm和.ibd文件转换为sql文件

--- 转自他人

mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的。万一还没有做好备份,数据被误删除了,或者ibdata损坏了怎么办呢?别担心,只要有部分的frm、ibd存在就可以恢复部分数据。

注意:

一、这个是对innodb的数据恢复。myisam不需要这么麻烦,只要数据文件存在直接复制过去就可以。

二、大家的mysql数据库必须是按表存放数据的,默认不是,但是大家生产肯定是按分表设置的吧,如果不是,不好意思,这个方法不能恢复你的数据。

my.ini的设置为 innodb_file_per_table = 1。

1、找回表结构,如果表结构没有丢失直接到下一步

a、先创建一个数据库,这个数据库必须是没有表和任何操作的。

b、创建一个表结构,和要恢复的表名是一样的。表里的字段无所谓。

一定要是innodb引擎的。CREATE TABLE `ax_table`( `weiboid` bigint(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

c、关闭mysql, service mysqld stop;

d、用需要恢复的frm文件覆盖刚新建的frm文件;

e、修改my.ini 里 innodb_force_recovery=1 , 如果不成修改为 2,3,4,5,6。

f、 启动mysql,service mysqld start;show create table ax_table 就能看到表结构信息了。

2、找回数据。记得上面把 innodb_force_recovery改掉了,需要注释掉,不然恢复模式不好操作。

  这里有个关键的问题,就是innodb里的任何数据操作都是一个日志的记录点。

  也就是如果我们需要数据恢复,必须把之前的表的数据的日志记录点添加到一致。

a、建立一个数据库,根据上面导出的创建表的sql执行创建表。

b、找到记录点。先要把当前数据库的表空间废弃掉,使当前ibd的数据文件和frm分离。 ALTER TABLE ax_table DISCARD TABLESPACE;

c、把之前要恢复的 .ibd文件复制到新的表结构文件夹下。 使当前的ibd 和frm发生关系。ALTER TABLE ax_table IMPORT TABLESPACE;  

这个时候没有错误,说明已经建立好了。如果能查到数据,到此就OK了,如果不行,请执行如下操作。

d、相比这里大家已经知道为什么了,这个模式也不是说改了数据库就可以在生产环境使用。更改 innodb_force_recovery=1 , 如果不成修改为 2,3,4,5,6。直到可以 查询出数据为止,然后dump出来。数据就备份出来了。

e、把所有数据导出后,在新的数据库导入。所有数据就生成了。  

原文地址:https://www.cnblogs.com/ipyanthony/p/9290048.html

时间: 2024-10-10 21:10:18

RDS中的.frm和.ibd文件转换为sql文件的相关文章

python之模块py_compile用法(将py文件转换为pyc文件)

# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块py_compile用法(将py文件转换为pyc文件) #二进制文件,是由py文件经过编译后,生成的文件. ''' import py_compile #不带转义r py_compile.compile('D:\test.py') Traceback (most recent call last): File "<pyshell#1>", line 1, in &l

将图片文件转换为.py文件

最近用wxpython写了一个脚本,其中要给窗体设置图标文件,需要单独的一个ico文件,这样就比较影响美观,另外打包的时候还要将图标文件一起打包很繁琐.这时候看到wxpython文件有一个工具img2py.py. 这个工具可以将图标文件转为.py文件,文件里面保存的是图标文件的二进制信息. 使用方法如下: python C:\Python27\Lib\site-packages\wx-3.0-msw\wx\tools\img2py.py  -n=targetname   -i        ic

swftools工具将pdf文件转换为swf文件

开发客户网站时遇到了一个需求,客户要求后台上传pdf文件,前台能以翻书的形式直接访问. 首先想到的是使用js解决,用户访问前端页面时,php将文件路径发送给js,让js呈现出来翻书的效果.在网上百度了一圈也没有找到现成的插件. 于是由某人提供的flash完成,这时就需要将客户在后台上传的pdf文件转换为swf文件才能通过某人提供的flash呈现出来,而且需要pdf的每一页生成一个swf文件,才能出现翻书的效果.这时又由某人提供说,swftools可以完成这个需求,于是迅速百度. swftools

bin文件转换为hex文件C语言实现

对于嵌入式而言,hex文件可能大家再熟悉不过了,对,我们大学时学习的51单片机编写的代码在keil上编译后就生成了hex文件.那bin文件又是什么意思呢,它又和hex文件的区别在哪?这也不是本文的重点,下面简单的描述下: 最通俗的来讲,hex是带地址的,用下载器下载时,不需要设置偏移地址,它是文件流格式的,都是标准的ASCII码.而bin文件是不带地址的,全部是二进制数据流,打住一下,其实就是我们所谓的机器代码.有兴趣的同学,可以尝试着用反汇编,得到的就是汇编代码了.我所用的开发板S3C2440

2. PyQt5 .ui文件转换为.py文件

Author: Notus([email protected]) Create: 2019-02-09 Update: 2019-02-09 PyQt5 .ui文件转换为.py文件 环境 操作系统: macOS Mojave, version 10.14.1 Python Version: 3.6.4 PyQt5 Version: 5.11.3 Qt Creator Version: 4.8.1 窗体显示效果如下 对应的.ui文件(firstMainWin.ui)内容为 <?xml versio

3. PyQt5-通过Python脚本把当前目录下的所有.ui文件转换为.py文件

Author: Notus([email protected]) Create: 2019-02-10 Update: 2019-02-10 PyQt5-通过Python脚本把当前目录下的所有.ui文件转换为.py文件 环境 操作系统: Windows 10 专业版 64-bit (10.0, Build 16299) (16299.rs3_release.170928-1534) Python Version: 3.7.1 PyQt5 Version: 5.11.3 Qt Designer V

php如何将base64数据流文件转换为图片文件?

2017-03-07 在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片. 也就是说 <img src="data:image/jpg;base64," /> ***image/后面的jpg是我们的图片文件格式,(base64,)后面的很大一长串就是具体的文件信息. data:image/jpg;base64则是指的文件头.我们可以把src里面的全部内容放在浏览器的地址栏进 行访问,是可以正常显示图片文件的. 我将src的值获取到后台之后,在

将autocad的.dwg文件转换为.shp文件

最近用到ArcGIS控件来做地图显示,最初是用过加载mxd文件来显示地图的,但是每次放大缩小或拖动等操作,地图都与重新加载一次,出现闪屏或延迟比较严重的现象,无法完成实时显示元素的效果.为此我换成显示shp格式的文件后,效果明显提升好多.但是由dwg文件得到shp文件,网上介绍了N多方法,但实际操作的过程中由于缺少安装软件或其他原因出现了各种状况,下面我将自己的转换过程跟大家分享一下: 工具:AutoCAD 2007   ArcGIS 10.1   待转换的dwg文件 过程:DWG→DXF→SH

golang实现wav文件转换为mp3文件

本文并非golang内置的库进行wav转mp3,而是通过golang调用Linux的lame命令进行转换. 在Linux环境下,默认情况是没有安装lame,所以首先需要安装lame(个人保存下载文件:http://pan.baidu.com/s/1qWp71G4#path=%252Fsharesoft%252Flinux%252Flame). Linux lame 安装及使用: 1. 解压lame压缩文件:tar -vzxf lame-3.98.4.tar.gz 2. 转到解压后的文件目录,依次