Mysql 如何从.FRM还原我的MYI、MYD表

Mysql 如何从.FRM还原我的MYI、MYD表,mysql,phpmyadmin,Mysql,Phpmyadmin,可能重复: 我在这里看到了这个问题,但老实说,我无法理解任何张贴的解决方案。在出现一些问题后,我刚刚重新安装了WindowsVista,并且为Mysql的旧安装制作了整个“数据”文件夹的副本。MySQL的原始和新安装版本是5.0.85 phpMyAdmin的原始版本是3.2.1,但我现在安装了最新版本:3.5.3。问题是我丢失了一些MYI和MYD文件,我相信它们是表和索引文件。所有的.FRM文件都存在,还有一个,ibdata1文件(还有ib_logfile0和ib_logfile2) 在某些屏

可能重复:

我在这里看到了这个问题,但老实说,我无法理解任何张贴的解决方案。在出现一些问题后,我刚刚重新安装了WindowsVista,并且为Mysql的旧安装制作了整个“数据”文件夹的副本。MySQL的原始和新安装版本是5.0.85

phpMyAdmin的原始版本是3.2.1,但我现在安装了最新版本:3.5.3。问题是我丢失了一些MYI和MYD文件,我相信它们是表和索引文件。所有的.FRM文件都存在,还有一个,ibdata1文件(还有ib_logfile0和ib_logfile2)

在某些屏幕中,如“分配表级权限”下拉菜单中,这些表显示在phpMyAdmin中,因此它们似乎仍在那里,但不会显示在显示aDB中所有表的左栏中。它们是可恢复的还是永久丢失的??我将感谢任何足够详细的帮助,以了解一个新手。我以前安装过WAMP,但从未遇到过此问题


提前感谢…

文件
.frm
只包含有关表结构的元数据。它们不包含您的数据

对于MyISAM表,
.MYD
文件基本上就是表(sans元数据或索引);如果它不见了,你的数据也就不见了。也许有一种方法可以生成“空”文件并重新开始,但是是的。没有它们,就没有数据

.MYI
文件包含索引AFAIK。这些可以重新生成,但不能没有数据

但是,如果您的表是InnoDB表,那么您可能会很幸运。InnoDB表不会有
.MYD
.MYI
;本应在其中的数据将改为在
ibdata1
中。您可以(在停止mysqld之后)简单地将
.frm
ib*
文件潜入正确的位置,让mysqld在重新启动时看到它们


当然,如果您已经有InnoDB数据文件,那么这将不起作用——或者更确切地说,如果有,您将丢失任何现有的InnoDB表。不过,在这种情况下,您可以将文件放入另一个目录,并启动指向该目录的mysqld实例。这就足以让您
mysqldump
将一个表作为SQL,这样您就可以将它导入到新的数据库中。

不是问题的重复项,它被标记为重复项;另一个问题是如何从原始文件中恢复一个表,这个问题专门询问这些文件是否丢失。另一个问题的答案不适用。非常感谢赵-也感谢你在“所谓的“欺骗”问题上纠正了他们的错误。我有现有的innoDB表,所以我会尝试你关于将文件转储到新目录中的建议。。。等等,我可以问一下,我如何将MySQL指向那个新目录??如果停止运行mysqld,您可能会说
mysqld--datadir=/path/to/files
。如果你让它继续运行,你将不得不设置更多选项。嗨,cHao-它一直给我错误,我相信主要是语法错误-我将继续使用long方法,打开.frm文件,并使用其中的任何可用信息再次创建表。我只需要知道字段名'cos',幸运的是,在db中的19个表中,只有5个'尚未使用'表丢失。嘿,再次感谢你的时间和支持。