【发布时间】:2013-02-25 07:44:11
【问题描述】:
不幸的是,Windows 昨天崩溃了,我只有时间从我的 mysql 数据库中检索 frm 文件。我在谷歌上看了一下,发现这只是表结构(这正是我所追求的)
那么,有没有办法可以将这些文件恢复到 mysql 中。我已经把它们放在我昨天取它们的目录中,phpmyadmin 识别的是数据库,但它不会检测表,但我也无法使用相同的名称创建表。
【问题讨论】:
不幸的是,Windows 昨天崩溃了,我只有时间从我的 mysql 数据库中检索 frm 文件。我在谷歌上看了一下,发现这只是表结构(这正是我所追求的)
那么,有没有办法可以将这些文件恢复到 mysql 中。我已经把它们放在我昨天取它们的目录中,phpmyadmin 识别的是数据库,但它不会检测表,但我也无法使用相同的名称创建表。
【问题讨论】:
在启动之前,您应该停止 WAMP 服务,或者至少在提示启动服务时重新启动它们。
在旧服务器实例上,默认导航到 MySQL 数据文件夹,这应该类似于 C:\wamp\bin\mysql\mysql5.1.53\data\ 其中 mysql5.1.53 将是先前安装的版本号MySQL 数据库。
在此文件夹中,您应该会看到一些文件和文件夹。这些文件夹是实际的 MySQL 数据库,包含一堆我们需要的 .frm 文件。您应该将文件夹名称识别为数据库名称。这些文件夹及其所有内容可以直接复制到你的 MySQL 数据文件夹中,你可以忽略默认数据库 mysql、performance_schema、test。
如果您现在启动服务器,您将看到数据库被拾取,但是数据库将不包含复制的任何表。为了获取数据库的内容,回到数据文件夹中,您应该会看到一个文件 ibdata1,这是表的数据文件,将其直接复制到数据文件夹中,您的新文件中应该已经有一个文件名为“ibdata1”的数据文件夹,因此您可能希望将其重命名为 ibdata1.bak,然后再从旧的 MySQL 数据文件夹复制到 ibdata1。
完成后重新启动所有 WAMP 服务。您可以使用 PhpMyAdmin 来检查您的数据库是否已成功恢复。
【讨论】: