以下恢复步骤即适用于drop table 也适用于 truncate table
mysql> select count(*) from employees.employees; +----------+ | count(*) | +----------+ | 300024 | +----------+ 1 row in set (0.09 sec) mysql> select @@datadir; +-----------+ | @@datadir | +-----------+ | /m01/ | +-----------+ 1 row in set (0.00 sec) mysql> drop table employees.employees; ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails mysql> SET FOREIGN_KEY_CHECKS=0; Query OK, 0 rows affected (0.00 sec) mysql> drop table employees.employees; Query OK, 0 rows affected (0.02 sec) mysql> ^DBye #sync #sync

启动DBRECOVER FOR MYSQL软件,选择DROP TABLE恢复场景:

选择正确的MYSQL数据库版本:

选择SELECT DIRECTORY,输入@@datadir所在目录路径, 点击start

软件会扫描目录下的ibdata1或mysql.ibd并扫描@datadir所在磁盘:
!!!注意这里一定要输入原始@@datadir所在目录;不能是出现问题后拷贝原文件的一个目录。因为软件需要扫描@@datadir所在文件系统所在挂载点才能找到被drop的数据。

之后点击对应数据库下的dropped tables节点,看是否存在对应被drop的表:

针对truncate table,只需要在数据库树形图中查看对应的普通数据表节点即可看到数据,并导出数据
可以在界面右侧观察到该表的数据,之后的恢复与常规模式一致。
本文详细介绍如何在MySQL中恢复被DROP或TRUNCATE的表数据,包括禁用外键检查、使用DBRECOVERFORMYSQL软件扫描数据目录,以及从ibdata1或mysql.ibd文件中找回丢失的数据。
815

被折叠的 条评论
为什么被折叠?



