将表InnoDb改为MYISAM - .MYD和.MYI未找到

时间:2012-07-15 04:23:16

标签: mysql innodb

我使用alter命令将我的一个表的引擎从InnoDB更改为MyIASM,而phpmyadmin显示当前引擎是MyIASM。 但是在相应的DB目录内的/ var / lib / mysql中,只找到该表的.frm文件.MYD和.MYI丢失了。我怀疑引擎没有改变。请说明必须做些什么。

1 个答案:

答案 0 :(得分:0)

验证表格是否确实已更改问题:

SHOW CREATE TABLE your_schema.your_table \G

寻找ENGINE=...部分。还有其他方法可以做到这一点,但这一个很好。这个查询的结果是可靠的并且是真实的。

接下来,让我们验证位置。既然您可以找到.FRM文件,那么您最有可能在正确的位置,但请注意:

SELECT @@datadir;

然后看那里。

最后,MyISAM表可能specify是数据的一个不同位置。索引,称为DATA DIRECTORYINDEX DIRECTORY,并在SHOW CREATE TABLE的结果中看到。我看不出为什么会这样设置,但......值得一看。

只是猜测发生了什么:这是一张大桌子吗?也许只需要花费一些时间ALTER,即使桌子正在重建,你也在看?