これらのibdataファイルは、クラッシュ回復手順で重要な役割を果たすので、理解したいと思います。このための適切なリソースがWeb上で見つかりませんでした。
ファイルibdata1は、InnoDBインフラストラクチャのシステムテーブルスペースです。
InnoDBに不可欠な情報のクラスがいくつか含まれています
innodb_file_per_table を有効にすると、ibdata1からデータページとインデックスページを離婚できます。これにより、新しく作成されたInnoDBテーブルは、データおよびインデックスページを外部_.ibd
_ファイルに格納します。
例
CREATE TABLE mydb.mytable (...) ENGINE=InnoDB;
、_/var/lib/mysql/mydb/mytable.frm
_ を作成します/var/lib/mysql/mydb/mytable.ibd
_に保存InnoDBテーブルがどこに保存されていても、InnoDBの機能ではテーブルメタデータの検索と保存および取得が必要です [〜#〜] mvcc [〜#〜] サポートする情報- ACIDコンプライアンス および トランザクション分離 。
これは、ibdata1からのテーブルデータとインデックスの分離に関する過去の記事です。
Oct 29, 2010
_: StackOverflowの元の投稿Nov 26, 2011
_: ERROR 1114(HY000)at line 6308 in file&the table user_analysis is fullFeb 03, 2012
_: MySQL InnoDBのテーブルのスケジュールされた最適化Mar 25, 2012
_: なぜInnoDBはすべてのデータベースを1つのファイルに格納するのですか?Apr 01, 2012
_: innodb_file_per_tableは推奨ですか?ib_logfile0
_、_ib_logfile1
_)_ib_logfile0
_と_ib_logfile1
_の目的を知りたい場合、これらはInnoDB Redoログです。 mysqldの完全な通常シャットダウンが行われるまで、それらを消去またはサイズ変更しないでください。 mysqldがクラッシュした場合は、mysqldを起動してください。 _ib_logfile0
_の二重書き込みバッファに送信されなかったデータ変更がないかどうかを確認するために、_ib_logfile1
_と_ibdata1
_全体を読み取ります。それらの変更をリプレイ(再実行)します。それらが再生および保存されると、mysqldは新しいDB接続の準備が整います。