前言
前面介绍了《Mysql之Binary Log》其中提到了一些参数的配置,其实参数的配置就涉及到一些底层的流程,下面我们主要讲Binary Log的sync_binlog会涉及到Binary Log的写入流程。
《Mysql之Binary Log》还涉及到的binlog_format后续还会继续补充敬请期待。
Binary Log写入流程
我们首先还是先看看官方文档对sync_binlog配置的描述。
sync_binlog
命令行格式 | --sync-binlog=# |
系统变量 | sync_binlog |
影响范围 | Global |
动态的 | Yes |
SET_VAR提示适用 | No |
类型 | Integer |
默认值 | 1 |
最小值 | 0 |
最大值 | 2^32=4294967295 |
控制 MySQL 服务器将二进制日志同步到磁盘的频率。
-
sync_binlog=0:禁用 MySQL 服务器将二进制日志同步到磁盘。相反,MySQL 服务器依赖操作系统不时将二进制日志刷新到磁盘,就像它对任何其他文件所做的那样。此设置提供了最佳性能,但如果发生电源故障或操作系统崩溃,服务器可能已提交尚未刷盘的事务。