将ISAM表文件(ISD,ISM)从一个mysql导入另一个

时间:2010-11-10 08:14:41

标签: mysql freebsd myisam isam

问题:我的db-host突然将我的mysql数据库从一台服务器切换到另一台服务器。不幸的是,我有1个运行ISAM的表,所有其他表都是MyISAM。 从一台服务器切换到另一台服务器后,ISAM表已经死了!

当尝试从死表中进行SELECT时,PHP发送“在查询期间丢失与MySQL服务器的连接”。

在PHPMyAdmin中,健康表具有相应的列值 (记录,类型,整理) 885 MyISAM latin1_swedish_ci

死亡表只有:“在使用中”写在三列中。

如果我尝试运行查看表的结构:

显示来自table_name;

的完整字段

我得到了: 1017 - 找不到文件:'table_name'(错误号:2)

谢谢!

1 个答案:

答案 0 :(得分:0)

我听说有人说ISAM文件依赖于操作系统和mysql版本,其中MyISAM文件没有那种依赖关系? 实际上我不知道文件是否已损坏,或者是否切换到杀死该表的新操作系统。 我尝试过使用mysql 3.23,4.01和5.1。在3.23以上isamchk寻找.MYD文件,所以我认为ISAM引擎在这个版本之后出来了。使用3.23中的isamchk和-e(扩展检查)或o-(安全恢复)控制台应用程序在“check delete-chain”命令之后就死了。

尝试在mac或linux上运行isamchk或者使用freebsd(db来自哪个)是不是一个想法?或者实现是否完全相同?

由于