mysql数据库as表恢复_【翻译】如何从ibdata和.frm文件恢复MySQL表数据
这个教材叫你如何在数据库全部或者部分数据丢失,或者数据库加载数据失败时,如何恢复数据。
发生这种情况的一个原因是表数据损坏。
在这种特定情况下,你连接到MySQL服务器,你看不到更多的表,因为它们缺失了。
在这种情况下,MySQL错误日志包含如下信息:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
下面解释的这种方法只可以在innodb引擎才可以使用。
注意:在你做任何事之前,在当前的数据库条件下,对数据库的全部文件进行一次备份,并且保证它们在其他地方是安全的。
假如要恢复数据,需要保证数据目录以及它的内容是完整的,在我这个示例中,是完好的。
drwx------ 2 mysql mysql 4096 Oct 11 2012 performance_schema
drwx------ 2 mysql mysql 4096 Dec 10 2012 ndbinfo
drwx--x--x 2 mysql mysql 4096 Dec 10 2012 mysql
-rw-rw---- 1 mysql mysql 56 Dec 19 2012 auto.cnf
drwx------ 2 mysql mysql 4096 Jul 30 2013 bugs
-rw-r----- 1 mysql mysql 50331648 Mar 18 10:35 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Apr 22 2013 ib_logfile1
-rw-r----- 1 mysql mysql 35651584 Mar 18 10:35 ibdata1
Ibdata1: 这个文件是系统表空间,其中包含了多个innodb表和相关索引
*.frm: 持有MySQL表的元数据信息,这个文件位于对应的数据库目录下(在这个 在bugs文件夹下)
id_logfiles* : 所有改变的数据都会写入到该文件,这非常类似于其他关系型数据库中的归档日志。
拷贝文件
假如使用如上日志文件恢复数据,第一步就是停止MySQL服务
service mysqld stop
拷贝ibdata文件和数据库对应库目录下的文件到某一个目录下,我们将利用他们来恢复数据,在这个案例中,我们拷贝到/tmp目录下,在这个案例中,数据库库的名字为bugs.
cp –r ibdata* ib_logfile* /tmp
cp –r schema_name/ /tmp/schema_name/
启动MySQL
service mysqld start
另一方面,一个典型的数据库备份和恢复,你应该使用mysqldump命令。
恢复数据
下一步,如下解释恢复表数据
在我的my.cnf文件中,设置一个参数的值给ib_logfile0 文件,我的案例中我设置48M,当我看这个文件大小时,则可以 ls -lh ib_logfile0
innodb_log_file_size=48M
注意logfile0 和logfile1的 大小应该一直
拷贝前面的ibdata.*到MySQL数据库的data对应目录
cp –r /tmp/ibdata* /var/lib/mysql/
在数据目录中创建一个与要还原的数据库架构名称同名的空文件夹,并复制此文件夹中以前的.frm文件,如下所示:
··
cp –r /tmp/ib_logfile* /var/lib/mysql/
cp –r /tmp/schema_name/*.frm /var/lib/mysql/schema_name/
最后重启MySQL
service mysqld restart
现在你将表数据恢复了,并且数据库也运行,不要忘记给连接MySQL的客户端授予适当的权限。
reference:
原文:https://www.thegeekstuff.com/2014/04/recover-innodb-mysql/
单词:
One of the reason for this to happen is when 导致出现这种情况的原因之一是XXX
particular :特殊的
scenario:情形
corrupted:损坏的
associated :相关的
Holds :持有
corresponding :相应的
concepts :概念
On a related note:另一方面
typical :典型的
respective :分别的,各自的
appropriate :适当的
mysql数据库as表恢复_【翻译】如何从ibdata和.frm文件恢复MySQL表数据相关推荐
- mysql数据库编程(c 语言)_【C/C++学院】(23)Mysql数据库编程--C语言编程实现mysql客户端...
#include #include #include #include #include #include #include #include "mydb.h" void sqld ...
- mysql备份与还原,增量备份;使用ibd和frm文件恢复数据
主要用的:binlog.mysqldump.mysqlbinlog 参考: https://www.cnblogs.com/Cherie/p/3309456.html https://blog.csd ...
- MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)
了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm ...
- mysql表只有frm文件_MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)
了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm ...
- mysql frm 恢复_mysql 从 frm 文件恢复 table 表结构的3种方法
mysql 正常运行的时候,查看 table 的结构并不是困难的事. 但是有时 mysql 发生故障,这种方法便不再可行. 当遇到故障,通常使用新的 mysql 实例来恢复当前的数据. 建表是非常重要 ...
- mysql数据库被远程连接_如何让mysql数据库准许被远程连接访问
第一:更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称'%'. 或 ...
- mysql数据库应用模式与特点_MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述...
MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述: 1.MySQL有多种存储引擎: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(Berk ...
- .mallox后缀勒索病毒解密工具|勒索病毒解密恢复|mallox勒索病毒解密|mallox勒索病毒文件恢复|数据库恢复
mallox勒索病毒概述,mallox勒索病毒解密恢复及日常防护建议 .mallox后缀勒索病毒解密工具|勒索病毒解密恢复|mallox勒索病毒解密|mallox勒索病毒文件恢复|数据库恢复 mall ...
- 数据恢复新姿势——通过ibd和frm文件恢复数据
一.背景 1.1.需求来源 需要给客户将生产环境的数据恢复到测试环境,但是线上环境的xtrabackup全备数据量太大,拷贝下来比较麻烦,并且需要恢复的数据只有整库中的两张表的数据,所以客户只是将全备 ...
最新文章
- Oozie 配合 sqoop hive 实现数据分析输出到 mysql
- python五十一:动态导入模块,通过字符串导入模块
- Redis Template使用append方法不起作用的解决办法以及序列化/反序列化的解释
- eui加载时间长_面试官:为什么 HashMap 的加载因子是0.75?
- NetBeans eclipse比較
- nginx修改upstream不重启的方法(ngx_http_dyups_module模块)
- 从Hadoop到云原生,谈如何消除程序员35岁危机
- 微信知识付费小程序博客源码(带299条数据)
- 转 最小生成树(kruskal 算法 和prim算法)
- Mybatis.cfg配置标签的顺序问题
- oracle视频经典教程,甲骨论经典版课程 Oracle DBA视频教程 超经典Oracle视频教程 博森瑞...
- ADI 485芯片型号
- C++中的 求模运算 和 求余运算
- 重庆要做的“边缘计算”,是什么?
- git 学习指南 学习资料笔记
- 【更新】蛙色VR视频故事线功能上线,行业进入新时代
- 【转贴】英语如此简单
- 【vue】vue中axios的使用及vue生命周期详解_07
- (五)51单片机基础——矩阵键盘
- 虚拟化技术—基础(1)
热门文章
- 案例分析:程序媛记一次特殊的“故障”处理
- 面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神
- 传统到敏捷的转型中,谁更适合做Scrum Master?
- 技术分享丨数据仓库的建模与ETL实践技巧
- Apache CarbonData 2.0 开发实用系列之一:与Spark SQL集成使用
- 要想深入理解mysql索引?这16个点你必须要了解!
- 80万辆车“云上飞驰”的背后
- 韩顺平php视频笔记77 抽象类vs接口 关键字final const
- R语言学习笔记(四)参数估计
- python用matplotlib画图时将标签竖着显示