以下恢复步骤即适用于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,只需要在数据库树形图中查看对应的普通数据表节点即可看到数据,并导出数据
可以在界面右侧观察到该表的数据,之后的恢复与常规模式一致。