千家信息网

mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,
千家信息网最后更新 2026年11月02日mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用

这篇文章主要介绍了mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

sync_binlog:

其值默认为0,范围为0~4294967295(mysql 5.6)
〇 为0时,即mysqld不去控制磁盘的同步,而是等待操作系统的fdatasync从内存flush到磁盘。(与操作系统同步)。在复制结构中,dump线程会在flush阶段进行binlog传输。
〇 最安全的设置为1,在开启了autocommit的情况下,如果mysqld或者os此时crash掉,会至多遗失一个事务。(同时也是最慢的设置)。在复制结构中,dump线程会在sync阶段进行binlog传输。
〇 当值为范围内其他值时,如100,即意味着mysql在写100次binlog时,再将缓存刷到磁盘。在复制结构中,dump线程会在flush阶段进行binlog传输。

将该值设置为稍大的情况下,可以提高tps,并且需要使用battery-backed cache防止异常断电。




innodb_flush_log_at_trx_commit:
(控制REDO log刷盘策略)
其默认值为1,其他可取值为0和2。
〇 当为1时,每个事务提交,将会使log buffer的内容写到log file中,同时将被flush到磁盘,这也是最安全的做法。可以完全遵从ACID。(the contents of the InnoDB log buffer are written out to the log file at each transaction commit and the log file is flushed to disk.)
〇 当为0时,每个事务提交,会写入mysqld自己的log buffer中,每隔1秒将log buffer的内容写到log file中,然后flush到磁盘。
〇 当为2时,每个事务提交,就会被写到log file(OS cache),但是log file每隔1秒才会被flush到磁盘,当操作系统crash或断电时,此时至多丢失1秒的事务。


0和2的区别是,
为0时,mysqld或操作系统crash则会导致1秒内的事务被丢失。
为2时,当操作系统crash或断电会导致1秒内的事务被丢失。

性能而言(由快至慢):
0>2>1
安全性而言(由好至差):
1>2>0

感谢你能够认真阅读完这篇文章,希望小编分享的"mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

事务 磁盘 操作系统 系统 篇文章 安全 同时 线程 结构 阶段 传输 内容 情况 至多 范围 同步 控制 价值 做法 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 金融科技还是互联网 工业互联网科技新基建 互联网科技有限公司图片 深圳科技互联网 互联网科技金融 互联网科技小贷 苏州互联网科技贷款公司 互联网科技logo设计 猫创互联网科技 互联网科技视频素材 银川新华互联网科技学校联系电话 乌鲁木齐新华智原互联网科技学校 滨湖区互联网智能科技产品有哪些 黑云互联网科技有限公司 广州百诚互联网科技有限公司官网 半导体行业属于互联网高科技类吗 科技互联网行业投资研究 中国互联网公司的科技投入 科技信息时代互联网发展 A股互联网金融科技公司 深圳科技互联网 深圳互联网科技公司 智慧科技互联网 互联网女皇 腾讯科技 阿里巴巴算科技企业还是互联网 湖南诚度互联网科技有限公司 互联网科技大奖都有哪些公司 科技互联网行业投资研究 马化腾互联网科技教学
0