Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL中的binlog刷盘机制

MySQL中的binlog刷盘机制解读

作者:小志的博客

MySQL binlog由server层提供,支持三种刷盘策略:sync_binlog=0(性能高但可能丢失)由操作系统决定刷盘时机;=1(最安全)每次提交强制刷盘;=2(折中)每N次提交后刷盘,5.7.7前默认0,之后默认1

一、binlog刷盘机制

二、sync_binlog属性提供的3种刷盘策略

由server层的执行器在提交了事务之后,写到PageCache,再由操作系统决定什么时候调用fsync函数将 binlog 写入到磁盘(性能最高,但宕机可能丢失部分 binlog)

每次事务提交时都强制刷新 binlog 到磁盘(最安全,但性能较低)

由server层的执行器在提交了N次事务之后,写到PageCache,再由操作系统决定什么时候调用fsync函数将 binlog 写入到磁盘(折中方案,平衡安全性和性能)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文