4

数日前、グーグルで検索した後、mysqlをもう実行できませんでした(xampp)次の投稿を見つけました:XAMPP - MySQLのシャットダウンが予期せず

私が行ったibdata1ファイルを削除するように言われましたが、mysqlは再び起動しますが、1つのデータベースのテーブルはなくなりましたが、データフォルダー(ibdおよびfrmファイル)に値を含むテーブルがまだ表示されているため、回復できますそれらのテーブル?

ありがとう。

4

1 に答える 1

5

ibdata1 ファイルは重要であり、すべての InnoDB データを削除して空の MySQL インスタンスからやり直す場合を除き、通常は削除しないでください。

使用innodb_file_per_table=1し、すべてのテーブルが .ibd ファイルに保存されている場合でも、ibdata1 ファイルにはデータ ディクショナリが含まれています。これは、基本的に InnoDB テーブルスペースのグローバル コンテンツ テーブルのようなものです。これは、InnoDB がどのテーブルがあり、どのファイルが存在するかを認識する方法です。ibdata1 ファイルには、ロールバック セグメントと変更バッファーに重要なデータを含めることもできます。これらは最終的にテーブルにマージされますが、時間がかかる場合があります。

ibdata1 を削除し、テーブル データを file-per-table 形式で格納していた場合、復元できる場合もありますが、これは慎重なプロセスです。ここにいくつかの参照があります:

最新のバックアップを復元し、バイナリ ログを使用して最新のバックアップ以降に加えられた変更を再生する方が簡単です。

于 2013-11-03T13:51:49.373 に答える