通过.ibd和.frm恢复mysql数据
背景:因为机器损坏,数据库的索引文件什么的都损坏了。只留下了一个mysql的data目录…
下面为恢复数据方法
1、先备份要恢复数据的表文件
2、新搭建一个mysql
3、将mysql下的log文件删除,不要保留和要备份的库相同的内容
4、新建数据库
5、通过命令行新建原来的表,
注意,一定在建表命令后加【ROW_FORMAT=COMPACT】防止冲突
DROP TABLE IF EXISTS `table1`;
CREATE TABLE `table1` (
`name` varchar(200) NOT NULL DEFAULT '' COMMENT 'key值',
`value` varchar(500) DEFAULT NULL COMMENT 'value值',
`desc` varchar(500) DEFAULT NULL COMMENT '关于当前key的描述信息',
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
6、将新建的表DISCARD掉
ALTER TABLE table1 DISCARD TABLESPACE;
7、将备份的源表数据文件.ibd拷贝过来
8、将拷贝过来的.ibd表数据导入进来
通过.ibd和.frm恢复mysql数据的更多相关文章
- 通过.frm和.ibd恢复mysql数据
.frm文件:保存了每个表的元数据,包括表结构的定义等: .ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索 ...
- linux 通过scp 复制备份恢复mysql数据表
最近客户有个需求,小弟对于运维的东西也是半瓶醋,所以就果断的摸索了下.折磨了一个晚上终于算是搞定了.因为是两个不同的服务器,本来想用ftp,无奈小弟不是很熟悉,所以就用了scp,但是scp有个问题就是 ...
- 使用xb文件恢复mysql数据
1.安装工具Percona XtraBackup MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见官方文档Percona XtraBackup 2. ...
- 实战演习:mysqlbinlog恢复bin-log数据
mysqlbinlog恢复bin-log数据 Binlog日志即binary log,是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即从节点同步主节点数据时获取的即是bin-log, ...
- mysql中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据
记一次mysql中的data文件操作经历 想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的phpmyadmin程序导出,不能愉快的玩耍,直接 ...
- Linux 文件系统引起的云盘文件系统异常导致 MySQL 数据页损坏事故恢复复盘
事故的起因是因为当我访问某个数据库的某个表的时候,MySQL 立即出现崩溃并且去查看 MySQL 的错误日志出现类似信息 --09T05::.232564Z [ERROR] InnoDB: Space ...
- 烂泥:通过binlog恢复mysql备份之前的数据
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章,我们讲解了如何通过mysql的binlog日志恢复mysql数据库,文章连接为<烂泥:通过binlog恢复mysql数据库>.其 ...
- 如何通过Mysql的二进制日志恢复数据库数据
经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlo ...
- Centos中MySQL数据的备份和恢复
1.MySQL数据备份 MySQL在Centos备份中用到了mysqldump这个文件,首先得把它找出来: [root@instance-3snz20bz ~]# whereis mysqldump ...
随机推荐
- 浅谈C#在网络波动时防重复提交
前几天,公司数据库出现了两条相同的数据,而且时间相同(毫秒也相同).排查原因,发现是网络波动造成了重复提交. 由于网络波动而重复提交的例子也比较多: 网络上,防重复提交的方法也很多,使用redis锁, ...
- python基础知识13---函数对象、函数嵌套、名称空间与作用域、装饰器
阅读目录 一 函数对象 二 函数嵌套 三 名称空间与作用域 四 闭包函数 五 装饰器 六 练习题 一 函数对象 1 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 ...
- rabbitMQ 在 windows 64位环境下无法启动(提示乱码)的解决方法
执行start命令时,提示乱码 解决方法: Set the environment variable “RABBITMQ_BASE” to “c:\rabbitmq”, uninstall the s ...
- Python【每日一问】14
问:请介绍一下Python中的 import 机制 答: import 语句结合了两个操作:1.它先搜索指定名称的模块 2.将搜索结果绑定到当前作用域中的名称. 如果指定名称的模块未找到,则会引发 M ...
- Linux下基础查看命令
1:查看系统32位还是64位,如下三种方法 uname -m uname -a ls -ld /lib64 2:查看系统版本 cat /etc/redha ...
- DataGridView导出数据到Excel
//传入DataGridView /// <summary> /// 输出数据到Excel /// </summary> /// <param name="da ...
- dll导出函数的两种方式的比较
最初的网页链接已经挂了, 在此贴一个中间的转载链接 https://blog.csdn.net/zhazhiqiang/article/details/51577523 一 概要 vs中导出 dll的 ...
- Collection 和 Collections的区别。(转)
Collection 和 Collections的区别. Collections是个java.util下的类,它包含有各种有关集合操作的静态方法. Collection是个java.util下的接口, ...
- DOM随时记
1.node-type 返回元素的节点类型:可以在标签上进行设置 node-type="item" ---来自新浪微博的首页写法
- GNU C和C99标准中的可变参数宏(variadic macros)
用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如: void printf(const char* format, …); 直到最近,可变参数表还是只 ...