本文主要是介绍mysql无备份 表恢复_无备份情况下恢复MySQL误删的表-李真旭,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
想必大家都知道,Oracle ACE李真旭(Roger)是国内最专业的Oracle 数据库恢复专家。但知识都是触类旁通,真正的专家,从来不会局限在一个方向上。今天分享的内容,是他在MySQL数据恢复上所做的尝试。
本文主要分享在没有备份的情况下,MySQL数据库如何恢复被删除的表。
包含两个主要的场景:
1、drop table后的恢复
2、truncate table后的恢复
正文:
我们都知道,MySQL Server都很多存储引擎,并不是每种都可以进行异常情况之下都恢复,比如drop table/tuncate table/delete
table/update table /drop database又或者是ibdata文件损坏之类的。用的最多的就是Myisam和innodb存储引擎。目前基本上都是5.5+
版本了,我想几乎没有人再去使用Myisam了吧。我这里所测试都
5.6,5.7版本中默认都存储引擎已经是Innodb了。因此这里我以Innodb引擎为例子进行说明。
MySQL drop table
这里我们首先来测试innodb_file_per_table为off的情况,即表结构和数据存在同一个文件中。这里我分别测试了表存在主键和不存在主键的情况,供参考。
innodb_file_per_table参数为off(有主键的情况)
这篇关于mysql无备份 表恢复_无备份情况下恢复MySQL误删的表-李真旭的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!