innodb_flush_log_at_trx_commit和sync_binlog 参数说明
来源:互联网 发布:cctv网络直播电视大全 编辑:程序博客网 时间:2024/05/17 10:40
- innodb_flush_log_at_trx_commit 写的是redo log
- sync_binlog 写的binlog
- 如果 innodb_flush_log_at_trx_commit的值是0,log buffer 被写出到log 文件 是一秒一次
- flush 到disk的操作被执行在log 文件上,但是在事务提交的时候什么都不做。
- 当值是1 的时候(默认的), log buffer 被写入到log file 是每个事务提交的时候,写出到磁盘操作被执行。
- 当值是2的时候,log buffer 是写出到文件在每次提交的时候,但是flush 到磁盘操作是不执行的。
- 然而, flush日志发生是一秒一次 当值为2的时候。
- 注意 一秒一次flush 不是100%强制发生的,由于进程调度原因。
- 默认值1是为了保证完整的ACID, 你可以得到更好的性能通过设置值不为1,
- 但是在系统崩溃的时候,你将会丢失1秒的数据。
- 设为0的话,mysqld进程崩溃的时候,就会丢失最后1秒的事务。
- 设为2的话,只有当操作系统 crash 或者断电会 丢失最后1秒的事务。
- 然而, InnoDB做 crash 恢复是不受影响的 因此crash recovery 做恢复的时候 会忽略这个值)
- 为最大可能的耐久性和一致性的复制设置 使用了InnoDB 的事务环境
- use innodb_flush_log_at_trx_commit = 1 and sync_binlog = 1
- 小心:
- 很多的操作系统和一些磁盘硬件欺骗flush-to-disk操作。
- 它们可能告诉mysqld flush已经发生, 尽管它还没有。
- 然后交易的耐久性是不强制的 尽管设置为1, 最坏的情况能corrupt the InnoDB database。
- 使用电池备份磁盘高速缓存的SCSI 盘控制器或者 在磁盘本身加快文件刷新
- 如果sync_binlog值大于0, MYSQL server 同步它的binary log 到磁盘(使用fdatasync())
- 在每次sync_binlog 写到binary log.如果自动提交启用,会把每个语句写到binary log里
- 默认值是0,不是同步写到磁盘的 在这种情况下, server 依赖操作系统来flush binary log的内存
- 值设为1 是安全的选择,由于crash 你最多丢失一个语句或者事务。然而,那也是最慢的选择
0 0
- innodb_flush_log_at_trx_commit和sync_binlog 参数说明
- 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之sync_binlog和innodb_flush_log_at_trx_commit参数浅析
- MySQL 重要参数 innodb_flush_log_at_trx_commit 和 sync_binlog
- MySQL之innodb_flush_log_at_trx_commit和sync_binlog参数详解
- 参数 sync_binlog、innodb_support_xa、innodb_flush_log_at_trx_commit
- sync_binlog和innodb_flush_log_at_trx_commit
- mysql sync_binlog 和innodb_flush_log_at_trx_commit
- innodb_flush_log_at_trx_commit & sync_binlog
- MySQL HA架构下innodb_flush_log_at_trx_commit及sync_binlog参数
- 【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
- 【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
- 【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
- sync_binlog innodb_flush_log_at_trx_commit 浅析
- sync_binlog innodb_flush_log_at_trx_commit 浅析
- 【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
- javascript中神奇的隐式转换
- PendingIntent
- 项目中用到的两种简单的流下载
- [leetcode: Python]119.Pascal's Triangle 2
- centos定时删除指定日期之前的文件
- innodb_flush_log_at_trx_commit和sync_binlog 参数说明
- 自定义View的几种写法一
- 编译kinfu过程中遇到的问题,CMake提示:Could not find the following Boost libraries: boost_sysytem boost_thread
- 模拟斗地主洗牌和发牌并对牌进行排序
- Binary Tree——给定二叉树的前序遍历和中序遍历重建二叉树
- hashMap 实现原理(解释的清晰,转载一下)
- JSP--(一)
- [网易]字符串编码
- 【转】详解ThreadPoolExecutor