[MySQL]innodb_flush_log_at_trx_commit与sync_binlog
1 innodb_flush_log_at_trx_commit 辨析
innodb_flush_log_at_trx_commit = 0 :
每秒将日志缓冲区写入log file,并同时flush到磁盘。跟事务提交无关。(crash可能丢失事务日志)
在机器crash并重启后,会丢失一秒的事务日志数据(并不一定是1s,也许会有延迟,跟操作系统调度有关)
innodb_flush_log_at_trx_commit = 1:
每次事务提交将日志缓冲区写入log file,并同时flush到磁盘。(crash不会丢失事务日志)
innodb_flush_log_at_trx_commit = 2:
每次事务提交将日志缓冲区写入log file,每秒flush一次到磁盘。(crash有可能丢失数据)
2 sync_binlog 辨析
innodb_flush_log_at_trx_commit=1 将事务日志从日志缓存区(innodb log buffer)写入到日志文件,并刷新到磁盘上
sync_binlog = 0 由文件系统决定将binlog同步到硬盘。(mysql默认值 )
sync_binlog = 1 每提交一次事务,写一次binlog,并使用fdatasync()同步到硬盘。
sync_binlog > 1 每提交一次事务,写一次binlog,达到sync_binlog 设定的值后,调用fdatasync()同步到硬盘。
3 参考文献
- (推荐)innodb_flush_log_at_trx_commit参数测试 - 博客园
- MySQL的innodb_flush_log_at_trx_commit参数实验 - CSDN
- innodb_flush_log_at_trx_commit和sync_binlog参数详解 - CSDN
[MySQL]innodb_flush_log_at_trx_commit与sync_binlog的更多相关文章
- mysql 开发进阶篇系列 19 MySQL Server(innodb_flush_log_at_trx_commit与sync_binlog)
一. innodb_flush_log_at_trx_commit 这个参数名称有个log,一看就是与日志有关.是指:用来控制缓冲区(log buffer)中的数据写入到日志文件(log file), ...
- MySQL参数:innodb_flush_log_at_trx_commit 和 sync_binlog
innodb_flush_log_at_trx_commit 和 sync_binlog 是 MySQL 的两个配置参数,前者是 InnoDB 引擎特有的.之所以把这两个参数放在一起讨论,是因为在实际 ...
- [MySQL] 参数: innodb_flush_log_at_trx_commit和sync_binlog
MySQL参数: innodb_flush_log_at_trx_commit和sync_binlog innodb_flush_log_at_trx_commit和sync_binlog是MySQL ...
- MySQL参数: innodb_flush_log_at_trx_commit和sync_binlog
innodb_flush_log_at_trx_commit 当innodb_flush_log_at_trx_commit=0时, log buffer将每秒一次地写入log file, 并且log ...
- innodb_flush_log_at_trx_commit和sync_binlog参数详解
innodb_flush_log_at_trx_commit和sync_binlog参数详解 标签: innodb_flush_ ...
- innodb_flush_log_at_trx_commit 和 sync_binlog 参数详 解
"innodb_flush_log_at_trx_commit"和"sync_binlog"两个参数是控制 MySQL 磁盘写入策略以及数据安全性的关键参数.当 ...
- Mysql配置参数sync_binlog说明
Mysql配置参数sync_binlog说明 mysql> select version(); +-----------+ | version() | +-----------+ | | +-- ...
- MySQL 重要参数 innodb_flush_log_at_trx_commit 和 sync_binlog
innodb_flush_log_at_trx_commit 主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0.1.2三个.该参数控制重做日志写入 ...
- innodb_flush_log_at_trx_commit与sync_binlog理解
innodb_flush_log_at_trx_commit该参数控制重做日志写入磁盘的过程.我们知道 InnoDB 使用“Write Ahead Log”策略来避免数据丢失问题,即依靠重做日志来保证 ...
- (转)【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
原文:http://blog.itpub.net/22664653/viewspace-1063134/ innodb_flush_log_at_trx_commit和sync_binlog 两个参 ...
随机推荐
- 基础实验之access/trunk/valn/vlanif/静态路由
实验要求 1,PC1,PC2,PC3,PC4分别属于VLAN10,20,30,40 2,PC1,PC2,PC3,PC4互通 步骤1:PC1,2,3,4分别配置IP,并在SW6,SW7分别配置网关,并 ...
- 【相邻父元素选择器】为啥p元素里面的h3也被选择了呢?求赐教
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- go tour 笔记 day1
go get 访问github太慢需要配置代理,设置环境变量 http_proxy=http://127.0.0.1:xxxx 算是比较方便的一种 ref: https://blog.csdn.net ...
- Java 实现汉字按照首字母分组排序
一.实现思路: 1.将数据list 进行排序Collections,排序后是按照汉字字母排序的 2.循环找出26个字母,以字母为key,以list中相同首字母的数据为值(集合) 二.代码实现: // ...
- python题mhy
def save(s): f=open("test.txt","wt") f.write(s["name"]+"\n") ...
- 使用python制作nRF52832升级包和合成烧录文件的经验(nRF52832 DFU经验分享)
使用python制作nRF52832升级包和合成烧录文件,青风开发板的作者已经说得很明白,不过作者使用的python是2.7的,已经很落后了.目前python已经更新到3.10.4了.所以我换了台电脑 ...
- 在 vuex 中建立一个 permission.js 文件用于合并静态和动态的路由规则
结果会获取完整的用户的路由规则 // 新建一个vuex模块来专门处理权限相关操作 import { constantRoutes, asyncRoutes } from "@/router& ...
- nextcloud file location
- python之自动化连连看脚本-第一关不动-小记
(如想转载,请联系博主或贴上本博地址) 仅供学习python之用,勿用做商业用途.运行环境为1920*1080屏幕,python3.7,win7,谷歌浏览器版本 75.0.3770.100. 参考ht ...
- 基于Rocky Linux搭建Windows域控制器
1.基于Rocky Linux搭建Windows域控制器 https://blog.csdn.net/Sakura0156/article/details/125822938?spm=1001.210 ...