当设置该值为1时,每次事务提交都要做一次fsync,这是最安全的配置,即使宕机也不会丢失事务;
当设置为2时,则在事务提交时只做write操作,只保证写到系统的page cache,因此实例crash不会丢失事务,但宕机则可能丢失事务;
当设置为0时,事务提交不会触发redo写操作,而是留给后台线程每秒一次的刷盘操作,因此实例crash将最多丢失1秒钟内的事务。
innodb_flush_log_at_trx_commit理解!
最新推荐文章于 2026-01-16 11:07:51 发布
本文详细介绍了三种不同的事务提交策略:1. 每次提交都进行fsync确保数据持久性,适用于对数据安全性要求极高的场景;2. 提交时仅执行write操作,保证数据写入缓存,适合于对性能要求较高且能接受一定风险的应用;3. 通过后台线程每秒一次的刷盘来同步数据,实例崩溃时最多丢失一秒内的事务。
1832

被折叠的 条评论
为什么被折叠?



