2010-11-10 189 views
1

問題:我的db-host突然將我的mysql數據庫從一臺服務器切換到另一臺服務器。不幸的是,我有一個運行ISAM的表,其他所有表都是MyISAM。 從一臺服務器切換到另一臺服務器後,ISAM表已經死了!從一個mysql導入ISAM表文件(ISD,ISM)到另一個

當嘗試從死表中SELECT時,PHP發送「在查詢期間丟失與MySQL服務器的連接」。

在phpMyAdmin健康的表有列值相應 (記錄,類型,排列) 885的MyISAM latin1_swedish_ci

的死亡表只是有:「使用中」 writtin遍佈三列。

如果我嘗試運行查看錶的結構:

SHOW FULL場FROM table_name;

我得到一個: 1017 - 找不到文件: 'TABLE_NAME'(錯誤:2)

謝謝!

回答

0

我聽說有人說ISAM文件取決於操作系統和MySQL版本,其中MyISAM文件沒有那種依賴關係? 其實我不知道該文件是否損壞或者是否切換到殺死該表的新操作系統。 我已經嘗試過使用mysql 3.23,4.01和5.1。在3.23之上isamchk尋找一個.MYD文件,所以我認爲在這個版本之後ISAM引擎不在。使用-e(擴展檢查)或o-(安全恢復)從3.23開始的isamchk,控制檯應用程序在「check delete-chain」命令後死亡。

嘗試在mac或linux上運行isamchk或者在freebsd(db從哪裏來)運行isamchk會是一個想法嗎?還是這些實現都是一樣的?

謝謝

相關問題