回答:
ファイル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の機能では、テーブルメタデータを検索し、MCID情報を保存および取得して、ACID準拠とトランザクション分離をサポートする必要があります。
これは、ibdata1からテーブルデータとインデックスを分離することに関する過去の記事です。
Oct 29, 2010
:StackOverflowの元の投稿Nov 26, 2011
:ファイルの行6308のエラー1114(HY000)&テーブルuser_analysisがいっぱいですFeb 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接続の準備が整います。
innodb_file_per_table disabled, Data/Index Pages Stored in /var/lib/mysql/mydb/mytable.ibd
そしてinnodb_file_per_table enbled, Data/Index Pages Stored in ibdata1
その逆である必要があり、それをべきではないのですか?