从myd myi文件恢复mysql服务器 - windows

时间:2009-08-31 12:36:37

标签: mysql windows restore mysql-error-1146

我有一张恢复光盘映像,其中包含 mysql 服务器的数据文件

原始服务器不可用 - 我只有数据文件(程序数据,程序文件等)。

我无法制作 mysqldump 文件。

在新服务器上,我安装了mysql服务器的确切副本,并将文件/文件夹(所有 myd myi 文件)从光盘映像复制到新服务器。

重新启动mysql服务后,我可以在mysql管理员中看到我的数据库列表。

但是,当我尝试查看表时,出现错误:

  

“1146表{dbname}。{tablename}不存在。”

我尝试运行 myisamchk ,但这表示存在n问题(至少没有显示错误)

有人可以帮忙吗?

鲍勃

1 个答案:

答案 0 :(得分:1)

您需要相应的.frm文件的副本,其中包含MySQL从.myd / .myi或ibdata文件中读取原始行数据所需的格式信息。如果没有.frm文件,MySQL就不知道这些表甚至应该存在(这就是为什么它们找不到,而myisamchk没有看到任何损坏的表)。

如果您没有这些文件,可能会遇到麻烦。您应该能够通过从头开始重新创建表来重构.frm,然后停止服务器并将.myd / .myis放在空版本上。但是您需要知道最初在架构中使用的确切数据类型和索引。 (“Very difficult repair”)