innodbでテーブルごとにデータファイルを作成する
通常、データは単一のibdata1というファイルに保存されます。
このファイルはmy.cnfの設定によって自動拡張するようになっていて、
放置していると平然と数GBとかにふくれあがります。
32bitのLinuxを使用していた場合、2GB以上のファイルは扱えなかったりするので、
ibdata1が大きくなりすぎてMySQLが動かなくなったりするわけですね。
いまどき32bitのLinuxを使用することもあまりないと思うのですが、
EC2のsmall instanceなんかはなぜか32bitだったりするので困りものです。
それに、ひたすらibdata1のサイズが肥大していくのも気分がよくない感じです。
それで表題の話。innodbではテーブルごとにデータファイルを作成することができます。
MySQLの定番サイト、「漢のコンピュータ道」に参考になる記事があります。
InnoDBのファイルサイズ管理
http://nippondanji.blogspot.com/2009/01/innodb_16.html
innodb_file_per_tableの設定をすればよし。
大きくなってしまったibdata1を小さくする方法もあります。
ibdata1 のサイズを減らす手順
http://bitwalker.dtiblog.com/blog-entry-162.html
一回データを消した上で入れ直さないといけないので、
動いているシステムで行うのはちょっと大変です。