frm和ibd恢复sql文件的操作】的更多相关文章

情况:有mysql中data文件(仅仅一个数据库) 操作:frm和ibd恢复sql文件的操作 1.创建相同名字的库xxx 2.把ibdata1替换成原来的 3.把数据库xxx内内容全部替换为原来的 完成!!!…
我们知道启用innodb_file_per_table选项后,单个表(InnoDB引擎)的数据和索引放入单独的文件中(.ibd),建表语句保存在.frm文件中本文假设192.168.85.132,3306实例无法启动(磁盘还能访问),需要将原实例下的replcrash.py_user表恢复到192.168.85.132,3308实例 一..frm得到建表语句 mysqlfrm可以读取.frm文件并从该文件中找到表定义数据生成CREATE语句.在大多数情况下,生成的CREATE语句用于在另一个服务…
.frm文件:保存了每个表的元数据,包括表结构的定义等: .ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件. 1.安装相同版本的mysql: 找回表结构 2.找回表结构(若有表结构,直接导入表即可) 建立同名的表(InnoDB),不知道列数的话随意一个字段即可(如果字段个数不一致会报错,去日志文件中查看有列数重复这些步骤) 关闭mysql服务 用需要恢复的.frm文件覆盖新生成的.frm文件.…
通过.frm和.ibd文件恢复表结构和数据 这里以hue数据库中的desktop_document2表为例 分成两步骤,先去表结构,再取数据,最好在一个用完就可以删除的数据库中进行 取表结构篇: 1.创建一个新数据库,然后创建一个和需要恢复的表的同名表,且引擎必须为InnoDB(即引擎为InnoDB的t_user表,其结构无所谓,字段数量相同就行), 2.关闭数据库服务(service mysqld stop),然后拿原来的desktop_document2.frm替换新建的数据库中的deskt…
昨日晚上开发告诉我不小心truncate两个表的数据,要求还原.结果在阿里云上找到了备份内容,结果是物理备份文件.frm..ibd.心中一万个草泥马啊..没办法,开始还原吧. 1.查看测试机Mysql配置文件位置 [root@localhost mysql]# which mysqld /usr/sbin/mysqld [root@localhost mysql]# /usr/sbin/mysqld --verbose --help| 'Default options' Default opti…
今天处理开发已导出的库的一个sql文件.未gzip压缩 ,1.3G 需要删除 17 18 24行的SET行. 想到了两个办法 1  sed 方法 主意 由于 sed 虽然指定行 进行 替换, 也会读完整个文件,由于该场景在文件开头所以已执行即可 停止 [root@saltstack_s ~]# sed -i '17s|要删除的内容|sss|'  sql文件名 2 split 方法 切割成小文件 再整合 方法 方便vim 或者sed 编辑  由于文件1.3G 所以切成100m大小一个 [root@…
ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据.撤销记录.修改buffer和双写buffer.如果file-per-table选项打开的话,该文件则不一定包含所有表的数据.当innodb_file_per_table选项打开的话,新创建表的数据和索引则不会存在系统表空间中,而是存放在各自表的.ibd文件中. 显然这个文件会越来越大,innodb_autoextend_increment选项则指定了该文件每次自动增长的步进,默认是8M. ibdata…
当全是 insert语句的.sql文件太大时(insert 语句条数太大),直接打开执行sql文件,pl/sql会卡死. 这是可以用pl/sql的命令窗口来执行.sql文件,操作步骤如下: 1.新建命令窗口: 2.输入@d:\xxx.sql   脚本后按回车键(xxx为sql文件路径) 3.待所有sql语句执行完后,点击提交按钮即可.…
一.恢复表结构 1.环境:Windows .mysql5.7:首先创建一个数据库,可以通过navicat来创建:     2.使用当前创建的数据库:use ww; 3.随意创建一张表,但是这张表的名字要和你要恢复的.frm或者.ibd一致,我的.frm与.ibd文件为gonggao.frm与gonggao.ibd 因此我的创建表语句为:     create table gonggao(id int); 4.在执行上面的创建表语句之后,在服务里面或者使用net stop mysql关闭数据库服务…
--- 转自他人 mysql存储在磁盘中,各种天灾人祸都会导致数据丢失.大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的.万一还没有做好备份,数据被误删除了,或者ibdata损坏了怎么办呢?别担心,只要有部分的frm.ibd存在就可以恢复部分数据. 注意: 一.这个是对innodb的数据恢复.myisam不需要这么麻烦,只要数据文件存在直接复制过去就可以. 二.大家的mysql数据库必须是按表存放数据的,默认不是,但是大家生产肯定是…