ホームページ >データベース >mysql チュートリアル >Chrome と IBD ファイルのみから MySQL テーブル構造を復元できますか?

Chrome と IBD ファイルのみから MySQL テーブル構造を復元できますか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-07 19:06:41345ブラウズ

Can We Recover MySQL Table Structure from FRM and IBD Files Only?

FRM および IBD ファイルのみから MySQL テーブル構造を復元します

質問:

ユーザーは、データベースを復元する必要があるにもかかわらず、FRM ファイルと IBD ファイルにしかアクセスできない状況に遭遇することがよくあります。

テーブル構造は復元できますか?

はい、IB_LOG ファイルがなくても、FRM ファイルからテーブル構造を復元できます。

手順:

1.FRM ファイルから SQL 作成ステートメントを抽出します:

  • MySQL ユーティリティをインストールします。
  • mysqlfrm --diagnostic コマンドを使用して、各FRMファイルのSQL作成ステートメントを生成します。
  • 出力には次のようなステートメントが含まれます:
<code class="language-sql">CREATE TABLE `example_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) NOT NULL,
  `photo_url` varchar(150) NOT NULL,
  `password` varchar(600) NOT NULL,
  `active` smallint(6) NOT NULL,
  `plan` int(11) NOT NULL,
  PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;</code>

2. SQL ステートメントを使用してテーブルを作成します:

  • 既存のテーブルを削除します (必要な場合)。
  • 手順 1 で取得した SQL create ステートメントを実行して、元のテーブルと同じ構造のテーブルを作成します。

3. データを復元します:

  • 次のコマンドを使用して、新しいテーブル データを削除します:
<code class="language-sql">ALTER TABLE example_table DISCARD TABLESPACE;</code>
  • テーブルディレクトリ内の対応する IBD ファイルを削除します。
  • 元の IBD ファイルをディレクトリにコピーします:
<code class="language-bash">cp backup/example_table.ibd /path/to/example_table.idb</code>
  • IBD ファイルに正しい所有権と権限があることを確認してください。
  • 古いデータをインポート:
<code class="language-sql">ALTER TABLE example_table IMPORT TABLESPACE;</code>

以上がChrome と IBD ファイルのみから MySQL テーブル構造を復元できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。