无全量备份、未开启binlog日志,利用percona工具恢复delete的数
当我们忘记做全量备份时,并且没有开启binlog,并执行了 deletefromsbtest; 数据全部丢失,要想恢复是很有难度的。 今天,利用Percona Data Recovery Tool for InnoDB工具 (仅支持InnoDB,MyISAM不支持) ,可以找回被删除的数据。 原理:在InnoDB引擎,del
当我们忘记做全量备份时,并且没有开启binlog,并执行了
delete from sbtest;
数据全部丢失,要想恢复是很有难度的。
今天,利用Percona Data Recovery Tool for InnoDB工具(仅支持InnoDB,MyISAM不支持),可以找回被删除的数据。
原理:在InnoDB引擎,delete删除操作,不是真正的删除物理文件上的行,而是增加一个删除的标记,我们都用过WORD吧?在修改字体的时候,有一个删除线的标记,如《MySQL 管理之道》,该工具利用这个特性,找回那些标注了删除线的数据,并存入到一个文本里,然后通过load data命令,批量插入到表里。
注:truncate不能恢复(truncate是直接清空数据行,并不是添加删除标记,你可以通过查看物理文件,执行了truncate操作,ibd文件变小,而执行了delete操作,ibd文件还跟之前的一样大),drop不能恢复(数据文件都没了,还怎么恢复?)。
一、安装Percona Data Recovery Tool for InnoDB工具
# 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
# cd percona-data-recovery-tool-for-innodb-0.5/mysql-source # ./configure # cd .. # make
二、全表删除sbtest表
delete from sbtest;
三、恢复
1、提取ibd物理文件,按照每页16K,单独存放。
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./page_parser -5 -f /usr/local/mysql-5.5.37/data/test/sbtest.ibd
650) this.width=650;" style="max-width:90%" title="1.jpg" alt="wKioL1QWjBbQtR24AAcTs4jETjo710.jpg" />
650) this.width=650;" style="max-width:90%" title="2.jpg" alt="wKioL1QWjBfQ5v4eAAMOU75u5yE417.jpg" />
会在当前目录生成一个pages-1410414511目录(后面的数字是变化的,在你的机器上会跟我的不同)
650) this.width=650;" title="3.jpg" alt="wKioL1QWjNeRc1gzAAGi--J2QzM705.jpg" />
650) this.width=650;" title="5.jpg" alt="wKiom1QWjUXSIuLRAAjqU2V4Rmk266.jpg" />
在FIL_PAGE_INDEX目录下面,会生成主键和索引,数据最小的是主键,后面依次是每个列的索引
650) this.width=650;" title="4.jpg" alt="wKioL1QWjcfTyYIVAACR8hnJJ78355.jpg" />
在这里,0-28是sbtest表的主键(id),0-29是sbtest表的索引(k)。记住这个目录数字,后面我们需要通过这个目录恢复数据。
2、生成表结构
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./create_defs.pl --host localhost --port 3306 --user root --password 123456 --db test --table sbtest > include/table_defs.h
-- host 主机地址
-- port 端口
-- user 用户名
-- password 密码
-- db 数据库名
-- table 表名
3、再次执行make编译命令
# cd percona-data-recovery-tool-for-innodb-0.5/ # make
650) this.width=650;" title="6.jpg" alt="wKiom1QWj3nzmDC0AAUbkA6b0jc746.jpg" />
4、恢复删除的数据
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./constraints_parser -D -5 -f pages-1410414511/FIL_PAGE_INDEX/0-28/ > /tmp/sbtest.txt
-D 恢复删除的行
-5 表的文件格式,默认是Compact
(不清楚的朋友,可以用show table status命令查看)
650) this.width=650;" title="7.jpg" alt="wKioL1QWkRiDTihIAAI9NJg8fOQ199.jpg" />
-f 指定生成sbtest表的主键目录
执行完毕,如下图:
650) this.width=650;" title="8.jpg" alt="wKiom1QWknDBeZOHAAIWMrwbsBE715.jpg" />
会自动生成一个load data infile命令,请把这个复制下来,一会我们要导入数据。
在/tmp目录下,会生成sbtest.txt,我们就要用这个文件做恢复。
650) this.width=650;" title="9.jpg" alt="wKioL1QWkuHwSGz6AARoxsVwT9s990.jpg" />
5、导入到表里
LOAD DATA INFILE '/tmp/sbtest.txt' REPLACE INTO TABLE `sbtest` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'sbtest\t' (id, k, c, pad);
总结:
通过上述方法,顺利的完成了delete数据恢复。在数据被删除后,切记要备份ibd数据文件,一定不要覆盖,否则都是不能完成修复的。目前该工具不支持字符串set类型。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



There is a dlss function in NVIDIA. After users turn on dlss, the game frame rate can be greatly improved. Therefore, many friends are asking the editor how to turn on dlss. First, make sure that the graphics card supports dlss and the game supports dlss, then you can enable it in the game. Let’s take a look at the specific tutorials below. Answer: DLSS generally needs to be opened in the game. To enable dlss, you must meet the conditions of the device and game. dlss is the "ray tracing effect", you can enter the game settings. Then go to the "Image or Graphics" settings. Then find "Ray Tracing Lighting" and click to open it. d

Is it necessary to enable hardware accelerated GPU? With the continuous development and advancement of technology, GPU (Graphics Processing Unit), as the core component of computer graphics processing, plays a vital role. However, some users may have questions about whether hardware acceleration needs to be turned on. This article will discuss the necessity of hardware acceleration for GPU and the impact of turning on hardware acceleration on computer performance and user experience. First, we need to understand how hardware-accelerated GPUs work. GPU is a specialized

Backing up and restoring a MySQL database in PHP can be achieved by following these steps: Back up the database: Use the mysqldump command to dump the database into a SQL file. Restore database: Use the mysql command to restore the database from SQL files.

Title: How to restore the hosts file after deletion Summary: The hosts file is a very important file in the operating system and is used to map domain names to IP addresses. If you accidentally delete the hosts file, you may be unable to access certain websites or have other network problems. This article will introduce how to recover accidentally deleted hosts file in Windows and Mac operating systems. Text: 1. Restore hosts file in Windows operating system. Hosts file in Windows operating system

WindowsServerBackup is a function that comes with the WindowsServer operating system, designed to help users protect important data and system configurations, and provide complete backup and recovery solutions for small, medium and enterprise-level enterprises. Only users running Server2022 and higher can use this feature. In this article, we will explain how to install, uninstall or reset WindowsServerBackup. How to Reset Windows Server Backup If you are experiencing problems with your server backup, the backup is taking too long, or you are unable to access stored files, then you may consider resetting your Windows Server backup settings. To reset Windows

Recently, many friends have asked the editor how to back up the system with ghost. Next, let us learn the tutorial on how to back up the system with ghost. I hope it can help everyone. 1. After running Ghost, click "OK", as shown in the figure. 2. Click "Local" → "Partition" → "ToImage" (meaning: local → partition → to image file), as shown in the figure. 3. The Select Local Hard Disk window appears, click the hard disk where the partition to be backed up is located, and then click "OK", as shown in the figure. 4. The Select Source Partition window appears (the source partition is the partition you want to back up), click on the partition where the system is located (usually Zone 1, be sure to get it right), and then click "OK", as shown in the figure. 5. Play at this time

AMAP map software provides great convenience for users’ travel with its excellent functions. Among them, the real-time traffic function is highly praised by users because it can help users understand road conditions more accurately, avoid congestion, and choose the best route. Then Zian can open the real-time traffic conditions on the Amap map. Users who want to know more about it can follow the editor's tutorial guide below to learn more about it! How to turn on real-time traffic conditions on Amap Map? Answer: [Amap] - [Layer] - [Traffic Conditions]. Specific steps: 1. First open the Amap software and enter the homepage. We can see the notification, layer, and feedback buttons in the upper right corner. Click [Layer] here; 2. Then after clicking, a dialog box will pop up. , here we click [Traffic Conditions]

In modern society, mobile phones have become an indispensable tool in people's lives. The functions of smart phones are becoming more and more powerful, meeting various needs of people's daily life, work and entertainment. For some users who need to use multiple WeChat accounts at the same time, it is particularly important to enable the dual WeChat function. This article will teach you how to enable dual WeChat functions on your Huawei phone, allowing you to easily manage multiple WeChat accounts. First of all, the EMUI system that comes with Huawei mobile phones already supports dual WeChat functions at the system level, so you only need to follow the following steps to set it up.
