參數名:innodb_flush_log_at_trx_commit
參數值:
- 0 事務提交的時候,不會去刷日志緩存區,也不會立馬寫入至日志文件中。這種設置最危險。如果數據庫掛了且運氣不好,數據庫的最新的更新數據都會丟失,即使事務提交了,但丟失的事務一般是最近1秒內發生的。
- 1 事務提交時,將日志緩存區中的日志寫入文件中,同時將這次寫入強制更新到磁盤文件中。保證數據安全性最強,但是數據庫的性能下降很多。
- 2 事務提交寫入日志,但不去刷盤,刷盤操作由OS控制,只要操作系統不掛,數據庫服務掛了,也能保證提交的事務數據不丟失。
建議:
- 一般在保證數據安全性和性能的權衡下,建議設置為2。
下圖,形象地簡單描述上列關系。