0

mysqlサーバー のデータファイルを含むリカバリ ディスク イメージがあります。

元のサーバーは利用できません - 私が持っているのはデータファイル(プログラムデータ、プログラムファイルなど) だけです。

mysqldumpファイルを作成できません。

新しいサーバーに mysql サーバーの正確なコピーをインストールし、ファイル/フォルダー (すべてのmyd myiファイル) をディスク イメージから新しいサーバーにコピーしました。

mysql サービスを再起動した後、mysql アドミニストレーターでデータベースのリストを確認できます。

ただし、テーブルを表示しようとすると、エラーが発生します。

"1146 テーブル {dbname}.{tablename} は存在しません。"

myisamchkを実行してみましたが、問題があると表示されます (少なくともエラーは表示されません)。

誰でも助けることができますか?

ボブ

4

1 に答える 1

1

MySQL が .myd/.myi または ibdata ファイルから生の行データを読み取るために必要なフォーマット情報を含む、対応する .frm ファイルのコピーが必要になります。.frm ファイルがないと、MySQL はテーブルが存在することになっていることさえ認識しません (これがテーブルが見つからない理由であり、myisamchk は壊れたテーブルを認識しません)。

これらのファイルがない場合、問題が発生する可能性があります。テーブルを最初から再作成し、サーバーを停止して空のバージョンに .myd/.myis をドロップすることで、.frm を再構築できるはずです。ただし、スキーマで最初に使用された正確なデータ型とインデックスを知る必要があります。(「<a href="http://dev.mysql.com/doc/mysql-security-excerpt/5.1/en/repair.html" rel="nofollow noreferrer">非常に難しい修復」)

于 2009-08-31T12:56:19.563 に答える