您现在的位置是:主页 > 数据库技术 > 数据库技术

MySQL数据库InnoDB数据恢复工具怎么用

IDCBT2021-12-27服务器技术人已围观

简介小编给大家分享一下MySQL数据库InnoDB数据恢复工具怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

小编给大家分享一下MySQL数据库InnoDB数据恢复工具怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一款开源的MySQL数据库InnoDB数据恢复工具:,它通过从原始数据文件中提取表的行记录,实现从丢失的或者被毁坏的MySQL表中恢复数据。例如,当你不小心执行DROP TABLE、TRUNCATE TABLE或者DROP DATABASE之后,可以通过以下方式恢复数据

在介绍innodb-tools工具进行数据恢复之前,首先明确以下几点:

1、这个工具只能对InnoDB/XtraDB表有效,而无法恢复MyISAM表(注: Percona号称有一套用于恢复MyISAM表的工具,但是本人未做尝试)。
 
2、这个工具是以保存的MySQL数据文件进行恢复的,而不用MySQL Server运行。
 
3、不能保证数据总一定可被恢复。例如,被重写的数据不能被恢复,这种情况下可能需要针对系统或物理的方式来恢复,不属于本工具的范畴。
 
4、恢复的最好时机是当你发现数据丢失时,尽快备份MySQL数据文件。
 
5、使用这个工具需要手动做一些工作,并不是全自动完成的。
 
6、恢复过程依赖于你对丢失数据的了解程度,在恢复过程中可能需要在不同版本的数据之间做出选择。那么如果你越了解自己的数据,恢复的可能性就越大。
 
接下来,下面通过一个例子来介绍如何通过这个工具进行恢复。
 
1. 前提条件
首先,需要理解的是innodb-tools工具不是通过连接到在线的database进行数据恢复,而是通过离线拷贝数据的方式进行的。注意:不要在MySQL运行的时候,直接拷贝InnoDB文件,这样是不安全的,会影响数据恢复过程。
 
为了完成数据恢复,必须知道将要被恢复的表结构(列名、数据类型)。最简单的方式就是SHOW CREATE TABLE,当然后续会介绍几种可替代的方式。因此,如果有一个MySQL server作为备份,即使数据是很早的甚至表中没有记录,可以有助于使用innodb-tools工具进行恢复。不过这个不是必须的
 
 
2. 简单例子
mysql> TRUNCATE TABLE customer;
3. 构建工具
为了构建innodb-tools工具,需要依赖于C编译器、make工具等。
1、解压innodb-tools工具:
wget https://launchpad.net/percona-data-recovery-tool-for-innodb/trunk/release-0.5/+download/percona-data-recovery-tool-for-innodb-0.5.tar.gz
tar -zxvf percona-data-recovery-tool-for-innodb-0.5.tar.gz
 
2、进入解压后根目录下的mysql-source目录,运行配置命令(注:不运行make命令):
cd percona-data-recovery-tool-for-innodb-0.5/mysql-source
./configure
 
3、完成配置步骤后,回到解压后的根目录,运行make命令,编译生成page_parser和constraints_parser工具:

标签:

很赞哦! ()

本栏推荐