使用Percona Data Recovery Tool for InnoDB恢复数据

标签: MySQL解错方案 Percona 数据恢复 | 发表时间:2013-09-05 07:14 | 作者:OurMySQL
出处:http://ourmysql.com

   昨晚收到一则求助,一个用户的本地数据库的重要数据由于误操作被删除,需要进行紧急恢复,用户的数据库日常并没有进行过任何备份,binlog也没有开启,所以从备份和binlog入手已经成为不可能,咨询了丁奇,发了一篇percona的 文章给我,顿时感觉有希望,于是到percona的官网上下载了 恢复工具

   一.安装:

   .tar -xvf percona-data-recovery-tool-for-innodb-0.5.tar.gz

   .cd percona-data-recovery-tool-for-innodb-0/mysql-source/

   ../configure

   .cd percona-data-recovery-tool-for-innodb-0

   .make

   二.解析ibd文件:

   此过程会将表的idb文件解析为很多的page,innodb的page分为两大部分,一部分一级索引部分(primary key),另一部分为二级索引部分(secondary key),所以解析出来的idb包括了主键数据和索引数据两大部分(如果该表有多个二级索引,则会生成多个文件)

   ./page_parser -5 -f t_bibasic_storage.ibd

   参数解释:

   -5:代表 row format为Compact

   -f:代表要解析的文件

   结果如下:

   pages-1377707810/FIL_PAGE_INDEX

   0-161 0-325 0-463 0-464 0-465

   可以看到t_bibasic_storage.ibd解析出来5个文件(161为主键索引的index_id,325,463,464,465为二级索引的index_id,该id可以通过开启innodb_table_monitor知晓)

   三.生成表定义:

   由于该工具在解析数据pages的时候,需要获得该table的表结构定义,所以需要执行如下命令:

   ./create_defs.pl -host xxxx -port 3306 -user root -password xxx -db didb -table t_bibasic_storage >include/table_defs.h

   上面的命令会将t_bibasic_storage表的表结构定义传入到table_defs.h中,在生成了表结构定义后,重新make该恢复工具:

   .make

   四.开始恢复pages中删除的数据:

   在重新编译工具后,执行如下命令:

   ./constraints_parser -5 -D -f pages-1377707810/FIL_PAGE_INDEX/0-161 >/tmp/t_bibasic_salessend.sql

   参数:

   -5 -f的参数和page_parser相同;

   -D:该参数的含义为代表恢复删除的数据页;

   恢复完成后生成如下语句和文件:

   LOAD DATA INFILE ‘/tmp/t_bibasic_proinfo.dmp’ REPLACE INTO TABLE `t_bibasic_proinfo` FIELDS TERMINATED BY ‘\t’ OPTIONALLY ENCLOSED BY ‘”‘ LINES STARTING BY ‘t_bibasic_proinfo\t’ (id, procode, skuoid, skucode, skuname, catatt, dutydepoid, dutydepname, seasonatt, brandatt, prostatus, choosedate, syear, smonth, sday, created, unioncomcode);

   /tmp/t_bibasic_salessend.sql 该文件就是我们需要load data的文本文件;

   总结:

   1)。该恢复工具只支持innodb存储引擎,文件的格式需要为:Compact

   2)。数据被误删除后,需要尽快将保护现场,停止数据库,把idb文件拷贝出来,防止ibd文件写入数据被覆盖(笔者恢复的一个表中,由于数据删除后,表中仍有大量写入,导致大部分数据没有恢复出来);

   3)。千叮嘱万嘱咐,数据库的备份重于泰山;

猜您喜欢

相关 [percona data recovery] 推荐:

Percona Data Recovery Tool for InnoDB工具恢复单表的案例

- - CSDN博客数据库推荐文章
今天上班有个朋友询问我,相关Percona Data Recovery Tool for InnoDB恢复数据中的一些问题,比如说delete,没法恢复数据,原先做过类似的异常处理就,再次模拟了下相关的恢复操作流程,仅供学习使用;相关的配置工具策略网上很多,这里我就一笔带过了,不再进行详述,下面就开始梳理相关的细节问题;.

使用Percona Data Recovery Tool for InnoDB恢复数据

- - OurMySQL
   昨晚收到一则求助,一个用户的本地数据库的重要数据由于误操作被删除,需要进行紧急恢复,用户的数据库日常并没有进行过任何备份,binlog也没有开启,所以从备份和binlog入手已经成为不可能,咨询了丁奇,发了一篇percona的 文章给我,顿时感觉有希望,于是到percona的官网上下载了 恢复工具:.

[来自异次元] MiniTool Power Data Recovery 支持Win与Mac的免费数据删除格式化文件恢复工具

- 安得米 - 异次元软件世界
        每个人都希望有后悔药,特别是当你不小心删除了一些重要文件之后. 我们之前曾推荐过 Recuva 等免费的数据恢复软件,帮无数人挽救了他们的文件. 今天继续送上另外一款同样对个人免费数据恢复软件 MiniTool Power Data Recovery.         MiniTool Power Data Recovery 最大的特色是同时提供了 Windows 和 Mac 版本,并且均能支持 HFS+ 分区格式的数据恢复,可以用于恢复苹果电脑的硬盘,这即使在收费的同类软件中也很少见.

Percona Xtrabackup MySQL 全备

- - CSDN博客数据库推荐文章
作者:ylqmf 发表于2013-3-24 17:29:55 原文链接. 阅读:99 评论:0 查看评论.

Percona XtraBackup 1.6.7 发布

- - 开源中国社区最新新闻
Percona XtraBackup 1.6.7 发布,该版本主要是 bug 的修复,详细列表请看 这里. XtraBackup 是一个用来备份 MySQL 的 InnoDB 数据库的开源工具. 例如执行增量备份的命令是:.

Percona XtraBackup InnoDB 備份工具

- - 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
大家可以選擇透過 yum 或 apt Repository 方式安裝,下面介紹 apt 方式即可. 將 apt 伺服器寫入 /etc/apt/sources.list. VERSION 請至換 Ubuntu Server 版號,如果您想測試實驗性版本請加入底下連結. 根據不同的 MySQL 版本來選擇 XtraBackup 指令,可以參考 Choosing the Right Binary,所以大家不要用錯指令了.

使用Percona XtraBackup备份MySQL

- - searchdatabase
  Percona XtraBackup是一款开放源码,免费的MySQL热备份软件,以非阻塞方式执行备份InnoDB和XtraDB为存储引擎的数据库,是商业备份工具InnoDB Hotbackup的一个很好的替代品. 作者的前一家公司就花了不菲美元买了Hotbackup产品.     下载地址: http://www.searchdatabase.com.cn/softwaredownload_10241.htm.

Percona XtraDB Cluster 搭配 HAProxy

- - 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
本篇文章紀錄安裝 Percona XtraDB Cluster (簡稱 PXC) 及搭配 HAProxy 做分散流量系統,其實在業界已經很常看到 HAProxy + MySQL Cluster Database 解決方案,HAProxy 幫您解決負載平衡,並且偵測系統是否存活,管理者也就不用擔心 MySQL 服務是否會掛掉.

Loading Data into Hive - Pentaho Big Data - Pentaho Wiki

- -
Using the external option, you could define a Hive table that simply uses the HDFS directory that contains the parsed file. For this how-to, we chose not to use the external option so that you can see the ease with which files can be added to non-external Hive tables..

Percona 的 MySQL High Availability 機制比較文

- - Gea-Suan Lin's BLOG
Percona 發了一篇「 High-availability options for MySQL, October 2013 update」,比較目前 MySQL 上常見的 High Availability 機制. 這些都是把 High Availability 做在 MySQL 上,讓前端的程式不需要操心的方式.