问题:我的db-host突然将我的mysql数据库从一台服务器切换到另一台服务器。不幸的是,我有1个运行ISAM的表,所有其他表都是MyISAM。 从一台服务器切换到另一台服务器后,ISAM表已经死了!
当尝试从死表中进行SELECT时,PHP发送“在查询期间丢失与MySQL服务器的连接”。
在PHPMyAdmin中,健康表具有相应的列值 (记录,类型,整理) 885 MyISAM latin1_swedish_ci
死亡表只有:“在使用中”写在三列中。
如果我尝试运行查看表的结构:
显示来自table_name
;
我得到了: 1017 - 找不到文件:'table_name'(错误号:2)
谢谢!
答案 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来自哪个)是不是一个想法?或者实现是否完全相同?
由于