仅使用.frm和.ibd文件还原MySQL数据库

时间:2018-08-24 03:40:16

标签: mysql

我不小心用InnoDB卸载了XAMPP和MySQL。如何在不事先导出数据库的情况下还原文件?

由于某种原因,仅将旧数据库文件复制到新数据库数据目录中是行不通的。

我把这个扔给有需要的人,因为这花了我几个小时来解决,而且一旦知道如何就很容易了。不需要任何神秘的SQL导入命令或高级Shell命令。

1 个答案:

答案 0 :(得分:2)

默认情况下,数据库数据存储在C:\ xampp \ mysql \ data \或类似文件中。文件夹是数据库表。在每个文件夹中,.frm文件是各列。 .ibd保存行值。

首先在PHPMyAdmin中创建数据库。

在菜单“恢复结构”下>从.frm文件中获取从该站点生成的SQL查询:

https://recovery.twindb.com/

上载每个.frm文件,然后将这些查询复制并粘贴到SQL命令中,以在PHPMyAdmin中创建表。

然后,在每个表上执行以下SQL查询:

ALTER TABLE table_name DISCARD TABLESPACE

这将自动从数据库目录中删除新的.ibd文件。 将旧的.ibd文件复制到数据库文件夹中。 运行以下命令以再次激活该表:

ALTER TABLE table_name IMPORT TABLESPACE

就是这样!您应该能够再次查看和访问所有旧值。