innodb_log_file_sizeを変更する方法

このエントリーをはてなブックマークに追加
はてなブックマーク - innodb_log_file_sizeを変更する方法
LINEで送る
Pocket

innodb_log_file_sizeの変更手順。

コピペ用:

innodb_log_file_sizeとは、

ログ グループ内のそれぞれの長いファイルのバイトでのサイズ。ログ ファイルの結合したサイズは32ビット コンピュータ上で 4GB 以下でなければいけません。デフォルトは5MB です。実用的な値は、N がグループ内のログ ファイル数だとして、バッファ プールのサイズの1MB から 1/N-th です。 値が大きいほど、ディスク I/O を節約し、バッファ プール内で必要とされるチェックポイント フラッシュ活動は少なくなります。しかし、ログ ファイルが大きいという事はクラッシュした時の復旧のスピードが遅いという事も意味します。

my.cnfのコメントに、推奨値はinnodb_buffer_pool_sizeの25%が書いてありました。
上記の説明とは食い違うなぁ。

Set the log file size to about
25 % of the buffer pool size

innodb_log_file_sizeの値の影響はどの辺にあるかというと、

この値が大きいほど、バッファプールで必要となるチェックポイントフラッシュの回数が減るため、ディスク I/O が削減される。

とあるので、書き込みが少ない用途の場合はこの値が少なくてもいいということか。

そこで、innodb logファイルの更新日を見てみたら、3日ほどローテーションされていないから、この場合は4MBでも十分みたい。

Ref:
http://d.hatena.ne.jp/urekat/20090423/1240473193
http://q.hatena.ne.jp/1236080287

もし、ib_logfileを移動しないで再起動すると、mysqld自体は起動しますがストレージエンジンの参照ができなくなります!
ほんとこれはトリッキー。mysqldのrestartは成功するけど、mysqlを利用できない。エラー内容は.frmが壊れているというようなメッセージが表示されるので、原因特定が難しい。

その際は以下のようなエラーがmysqlのログファイルに書かれます。

このエントリーをはてなブックマークに追加
はてなブックマーク - innodb_log_file_sizeを変更する方法
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

コメントを残す