每日一面 - MySQL 的双一设置是什么?

2021-01-13  本文已影响0人  干货满满张哈希

问题参考自:https://www.zhihu.com/question/425704691/answer/1524724367 ,答案为个人原创

其实就是innodb_flush_log_at_trx_commitsync_binlog两个参数设置,都设置为 1 就是双 1 设置。MySQL 默认配置就是双 1 配置

innodb_flush_log_at_trx_commitinnodb 引擎的配置,sync_binlog 是 MySQL 引擎上层的配置,都是控制磁盘写入策略。

MySQL innoDB引擎在事务 commit 之后:

  1. binlog 写内存
  2. redo log 写内存
  3. 根据这两个配置决定这两个日志是否刷盘(调用fsync
  4. commit完成

innodb_flush_log_at_trx_commit:redo log 的刷盘策略,默认为 1

sync_binlog:binlog 的刷盘策略,默认为0

上一篇下一篇

猜你喜欢

热点阅读