参数说明
sync_binlog:控制 MySQL 二进制日志(binlog
)同步到磁盘的频率。
Property | Value |
---|---|
Command-Line Format | --sync-binlog=# |
System Variable | sync_binlog |
Scope | Global |
Dynamic | Yes |
Type | Integer |
Default Value (>= 5.7.7) | 1 |
Default Value (<= 5.7.6) | 0 |
Minimum Value | 0 |
Maximum Value | 4294967295 |
- sync_binlog = 0,每进行事务提交后,MySQL 不做
fsync
之类的磁盘同步指令刷新binlog_cache
中的信息到磁盘,而让文件系统自行决定什么时候来做同步,或者cache
满了之后才同步到磁盘。 - sync_binlog = 1,每进行
1
次事务提交,MySQL 将进行一次fsync
之类的磁盘同步指令来将binlog_cache
中的数据强制写入磁盘。 - sync_binlog = N,每进行
N
次事务提交,MySQL 将进行一次fsync
之类的磁盘同步指令来将binlog_cache
中的数据强制写入磁盘。
设置
- 性能:0 > N > 1
- 安全:1 > N > 0
- 建议:区分业务场景进行设置
1 | # 支付场景:sync_binlog = 1 |