共有ウェブホストのサーバー上にある非常に重要なデータベースが破損していて、バックアップしませんでした。この表には、非常に重要な電子メールアドレスの大きなリストが含まれています。テーブルリストを取得できますが、NavicatまたはphpMyAdminでテーブルを開くと、次のエラーが発生します。
ファイル内の情報が正しくありません: './ the-table-name.frm'
データベースに関連付けられている.frmファイルをWebホストから取得することができました。
そこには他のデータもありますが、少なくともメールアドレスを取得できれば大丈夫です。
このデータベースを回復するにはどうすればよいですか?私はこれを修正するために誰かにお金を払っても構わないと思っています。
これはserverfaultに属します。
まず、.FRMファイルには「データ」がnone含まれています。それらは単にテーブルの定義です。
allの場合、次のいずれかが当てはまります。
CREATE TABLE
ステートメントを知っています次に、次の手順を実行します。
次のコマンドを試すことができます。CHECKTABLEtablename
これで「破損した」メッセージが表示される場合は、次を試してください。
REPAIRTABLEテーブル名
実際、これらは私の同様の問題を解決しませんでしたが、誰かに役立つかもしれません。
同様の問題が発生しましたが、MySQL InnoDBエンジンがオフになっていることがわかりました(phpMyAdminを介して確認できました。bashプロが他の方法でそれを行う方法を教えてくれます)。私の場合、MySQLを再起動するのと同じくらい簡単でしたが、そこで何かが変更された場合は、構成を確認することをお勧めします。