数据恢复软件:先来和大家聊聊数据恢复软件的基本概念,数据恢复软件包含逻辑层恢复和物理层...
美团点评MySQL闪回工具是非常实用的一款数据恢复软件和闪回工具,简单易用,快速的生成需要的SQL,就算是编程小白也能快速上手。稳定性也高于其他工具。
美团点评MySQL闪回工具MyFlash 不时会碰到误删除数据情况,早期只能通过一些人工方式解决,后期有了一些闪回工具,但是效率低下。美团点评自研了闪回工具MyFlash,能够方便并且高效地进行数据恢复。
a. 无需把binlog解析成文本,再进行转换。
b. 提供原生的基于库、表、SQL类型、位置、时间等多种过滤方式。
c. 支持MySQL多个版本。
d. 对于数据库的代码重构不敏感,利于升级。
e. 自主掌控binlog解析,提供尽可能灵活的方式。
该工具推荐用户在下载源码之后,进行动态编译链接安装
动态编译链接
gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c -o binary/flashback
然而用户不想每次去重新编译,可以选择使用静态链接,但是该方法需要知道glib库的版本和位置,因此对于每台机器略有不同,请谨慎使用静态编译链接
为了保证在一台机器上编译后,可以在其它机器上使用,需要满足以下两个条件 a) 将glib做成静态链接 b)在编译的那台机器的glibc版本(查看方法为ldd --version)要小于等于要运行该软件的那台机器glibc版本 因此需要你在一台glibc版本较低的机器上运行如下命令即可。
镜像是由一个个字段组成的,根据字段类型的不同,其计算长度的方法也不一样。
只与字段类型相关。比如int占用4个字节,bingint占用8个字节。其中类型信息可以从table map event中获取。
与字段类型及其参数相关。比如decimal(18,9),占用9个字节,参数信息在table map event中。
与字段类型、参数以及实际存储的值相关。比如varchar(10),有1个字节表示长度,之后的字节才表示真正的数据。比如varchar(280),有2个字节表示长度。实际的长度和数据在一起。
一个完整的binlog文件是由一个format description event开头,一个rotate event结尾,中间由多个其他event组合而成。
因为我们在闪回操作时,不能简单的把每个event反转之后,然后再将所有event的顺序反转过来。如果这样的话,就会出现table_map event在row event之后,这显然是违反binlog执行逻辑的。
有了最小执行单元之后,只需两步,即可完成反转。
a. 反转最小执行单元中的row event。
b. 逆序最小执行单元队列,即可。
当然在反转前,也可以增加过滤操作。比如过滤库名、表名和SQL类型等。