我获得了一个 MySQL 数据库,其形式为 ibdata1、ib_logfile0、ib_logfile1 以及 .myi、.myd 和 .frm 文件集合。
我该如何将此数据库“附加”到我的本地 MySQL 5.1 安装?我发现一条建议是在 MySQLdata
目录中创建一个新目录,但我找不到这样的目录。
答案1
为了找到“数据目录”(最终位于 ApplicationData\AllUsers 下),我查看了 Program Files 中 MySQL 目录下的“my.ini”。然后,将所有 .myi、.myd 和 .frm 文件复制到数据目录下的新目录中(表面上看)就很简单了。瞧,数据库就这么出现了。
答案2
从逻辑上讲,有两组文件,一些放在一个地方,一些放在另一个地方。正如 BradyKelly 提到的,要做的第一件事是找到您的“数据”目录,通常在 my.ini 文件中指定 - 具体位置取决于您的确切操作系统以及您如何安装 MySQL。它可能位于系统目录中,位于解压/解压下载下的“数据”目录中或系统范围目录中。
给定该数据目录,您需要将它们放回到正确的位置;idb* 文件位于“数据”本身的顶层:ibdata1、ib_logfile0、ib_logfile1
在“data”下,您将有子目录;其中一个必须是核心 mysql/ 子文件夹,其中包含相关的 .frm、.MYD 和 .MYI 文件。同样,此设置中的任何其他数据库都应将其文件放在子目录 (mydatabase/) 中,并且它是关联的 .frm、.MYD 和 .MYI 文件。您不能将所有这些文件都放在一个子目录中,它们必须回到它们所属的位置 —— 给您这些文件的人应该将这些文件连同这些子文件夹一起完整地发送给您。
我应该指出,这是尝试重新创建 mysql 安装数据最糟糕的方法;您这样做的唯一原因是灾难恢复,您只有这些文件可以使用。如果有人试图将数据库交给您,他们需要将“mysqldump”的输出发送给您——将原始文件发送给不熟悉 MySQL 的用户只会带来痛苦和心痛。
您提到找不到数据目录——在执行任何操作之前先启动 MySQL 一次,然后将其关闭。在整个计算机中搜索“mysql”,您将找到一个同名文件夹,即“data”内的子目录,它是主 MySQL 用户表等(即,无论操作系统如何,它都存在于每个 MySQL 中)。