使用Percona Data Recovery Tool for InnoDB工具问题

栏目: 数据库 · 发布时间: 6年前

内容简介:使用Percona Data Recovery Tool for InnoDB工具问题

首先呢,请各位注意Percona Data Recovery Tool for InnoDB工具的适用范围:

1)本次应用的恢复 工具 仅适用与innodb存储引擎,Myisam不支持

2)Truncate tabe 不能恢复

3)Drop table 想也别想了

恢复原理:

对于INNODB存储引擎而言,DELETE操作,不是真正删除物理文件上的行,而是给删除的行添加了一个删除的标记,我们利用此工具找到那些标注了删除标记的行,然后将其存放到一个文本中去,最后通过load data恢复数据;而truncate操作,是直接将数据行清空,并非添加删除标记(查看物理文件,执行truncate的表的ibd文件会缩小,而执行了DELETE的表,甚至比之前大)

正文开始:

1、安装Percona Data Recovery Tool for InnoDB工具

好吧,总是需要先安装一些依赖包啥的

yum -y install ncurses-devel.x86_64

不安此包,会报错的,啥错,忘记写进来了

rpm -ivh glibc-static-2.17-55.el7.x86_64.rpm --force --nodeps ()

不安此包:看看啥报错:

gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -static -lrt -o page_parser page_parser.c lib/tables_dict.o lib/libut.a

/usr/bin/ld: cannot find -lrt

collect2: ld 返回 1

make: *** [page_parser] 错误 1

2、正式配置安装

cd percona-data-recovery-tool-for-innodb-0.5/mysql-source/

./configure

cd ..

make

[root@dns1 percona-data-recovery-tool-for-innodb-0.5]# make

gcc -I include -I mysql-source/include -I mysql-source/innobase/include -o innochecksum innochecksum.c

gcc  -o ibdconnect ibdconnect.c

最后,没什么ERROR报错信息,就是正常的

3、OK,准备工作已经完成,来恢复你的数据

1)从服务器的层面提取你误删的数据

[root@dns1 percona-data-recovery-tool-for-innodb-0.5]# ./page_parser -5 -f /var/lib/mysql/test/site_ksteam.ibd

[root@dns1 percona-data-recovery-tool-for-innodb-0.5]# ls

check_data.c          create_defs.pl  ibdconnect    incrementalupdate.c  INSTALL  mysql-source  pages-1494339302  split_dump.pl

constraints_parser    docs            ibdconnect.c  innochecksum        lib      page_parser    pages-1494339674  tables_dict.c

[root@dns1 percona-data-recovery-tool-for-innodb-0.5]# ls pages-1494339302/FIL_PAGE_INDEX/

0-2475  0-2476  0-2477

在FIL_PAGE_INDEX目录下会生成主键和索引,数据最小的是主键,后面的依次是每个列的索引,如0-2475是site_ksteam表的主键,0-2476是表的索引

2)生成site_ksteam表的表结构:

[root@dns1percona-data-recovery-tool-for-innodb-0.5]# ./create_defs.pl --host localhost --port 3306 --user root --password 123456 --db test --table site_ksteam > include/table_defs.h  正常情况下没有任何的报错

3)还得再次执行make命令

[root@dns1 percona-data-recovery-tool-for-innodb-0.5]# make

gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -static -lrt -o page_parser page_parser.c lib/tables_dict.o lib/libut.a

最后是这条信息,就是正常的

4)将查找到的数据保存到/tmp/site_ksteam.txt文件

[root@dns1percona-data-recovery-tool-for-innodb-0.5]# ./constraints_parser -D -5 -f pages-1494339674/FIL_PAGE_INDEX/0-2351/ > /tmp/site_ksteam.txt  -D 恢复删除的行;-5表的文件格式,默认Compact;

-f 指定site_ksteam表的主键目录

LOAD DATA INFILE '/com/percona-data-recovery-tool-for-innodb-0.5/dumps/default/site_ksteam' REPLACE INTO TABLE `site_ksteam` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'site_ksteam\t' (id, catid, typeid, title, style, thumb, keywords, description, posids, url, listorder, status, sysadd, islink, username, inputtime, updatetime, contact, titles, level, cimage, bimage, language, subject);

5)连接Mysql,将数据导入表中

mysql> LOAD DATA INFILE '/tmp/site_ksteam.txt' REPLACE INTO TABLE `site_ksteam` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'site_ksteam\t' (id, catid, typeid, title, style, thumb, keywords, description, posids, url, listorder, status, sysadd, islink, username, inputtime, updatetime, contact, titles, level, cimage, bimage, language, subject);

最后呢,还是想吐槽下,开始搞这个工具的时候,网上的资料,呵呵,人云亦云的,也不说中间可能遇到啥问题,怎么解决,最最重要的是, 此工具对在线运行的数据库进行恢复操作,会出现数据丢失现象!!!

到底是我哪里没理解到,还是本是如此,欢迎留言!

本文永久更新链接地址 http://www.linuxidc.com/Linux/2017-05/143870.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法笔记上机训练实战指南

算法笔记上机训练实战指南

胡凡、曾磊 / 机械工业出版社 / 2016-7 / 57

《算法笔记上机训练实战指南》是《算法笔记》的配套习题集,内容按照《算法笔记》的章节顺序进行编排,其中整理归类了PAT甲级、乙级共150多道题的详细题解,大部分题解均编有题意、样例解释、思路、注意点、参考代码,且代码中包含了详细的注释。读者可以通过本书对《算法笔记》的知识点进行更深入的学习和理解。书中印有大量二维码,用以实时更新或补充书籍的内容及发布本书的勘误。 《算法笔记上机训练实战指南》可......一起来看看 《算法笔记上机训练实战指南》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试