MySQLの変数である、innodb_flush_log_at_trx_commitの設定値の特徴を表にしてまとめました。
| 設定値 | ログバッファへの書き込みタイミング | フラッシュのタイミング | 書き込み場所 | 備考 |
|---|---|---|---|---|
| 0 | 毎秒 | 毎秒 | ファイル | mysqldのプロセスがクラッシュすると、最後の秒のトランザクションが消される場合があります。 |
| 1 | トランザクションコミット時 | トランザクションコミット時 | ファイル | OS、あるいはハードウェアの問題によってフラッシュが行われない場合、トランザクションの耐久力が保障されない可能性があります。 |
| 2 | トランザクションコミット時 | 毎秒 | ファイル | OSのクラッシュや停電が起こると、最後の秒のトランザクションが消されてしまいます。 |
※ 設定値が2の場合の、ログバッファへの書き込みタイミングとフラッシュのタイミングが逆になっていたので、訂正しました。
タグ : MySQL innodb_flush_log_at_trx_commit InnoDB チューニング my.cnf

