使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复

mysql> use  employees;
Database changed

mysql> select count(*) from employees;
+----------+
| count(*) |
+----------+
|     1000 |
+----------+
1 row in set (0.00 sec)


mysql> delete from employees;


mysql> flush table employees with read lock;
Query OK, 0 rows affected (0.01 sec)

例如以上误删除表上记录的场景,我们可以用dbrecover for mysql的undelete功能恢复。

找到该表对应的ibd文件,例如 上例中employees表对应employees.ibd。

启动dbrecover for mysql程序,在开始菜单中选择添加ibd文件,并加入该ibd文件。

 

使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复_第1张图片

 

右击ibd文件选择扫描,扫描后出现对应的page文件,右键选择输入建表的SQL语句。

 

使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复_第2张图片

使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复_第3张图片

 

建表语句可以通过show create table 命令在mysql中获得:

 

mysql> show create table employees;
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                                                                                                                                                                                                                                                                  |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| employees | CREATE TABLE `employees` (
  `emp_no` int(11) NOT NULL,
  `birth_date` date NOT NULL,
  `first_name` varchar(14) NOT NULL,
  `last_name` varchar(16) NOT NULL,
  `gender` enum('M','F') NOT NULL,
  `hire_date` date NOT NULL,
  PRIMARY KEY (`emp_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复_第4张图片

 

点击确定后,界面右侧出现表信息,点击deleted数据:

 

使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复_第5张图片

 

点击导出到文件,即可将delete掉的数据恢复为MYSQLDUMP形式的INSERT语句

 

使用DBRECOVER FOR MYSQL针对delete table SQL场景的恢复_第6张图片

你可能感兴趣的:(MySQL)