MySQL innodb_flush_method 【转载】
innodb_flush_method这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的:
有三个值:fdatasync(默认),O_DSYNC,O_DIRECT
默认是fdatasync,调用fsync()去刷数据文件与redo log的buffer
为O_DSYNC时,innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件
为O_DIRECT时,innodb使用O_DIRECT打开数据文件,使用fsync()刷写数据文件跟redo log
首先文件的写操作包括三步:open,write,flush
上面最常提到的fsync(int fd)函数,该函数作用是flush时将与fd文件描述符所指文件有关的buffer刷写到磁盘,并且flush完元数据信息(比如修改日期、创建日期等)才算flush成功。
使用O_SYNC方式打开redo文件表示当write日志时,数据都write到磁盘,并且元数据也需要更新,才返回成功
O_DIRECT则表示我们的write操作是从mysql innodb buffer里直接向磁盘上写
至此我再总结一下三者写数据方式:
fdatasync模式:写数据时,write这一步并不需要真正写到磁盘才算完成(可能写入到操作系统buffer中就会返回完成),真正完成是flush操作,buffer交给操作系统去flush,并且文件的元数据信息也都需要更新到磁盘。
O_DSYNC模式:写日志操作是在write这步完成,而数据文件的写入是在flush这步通过fsync完成
O_DIRECT模式:数据文件的写入操作是直接从mysql innodb buffer到磁盘的,并不用通过操作系统的缓冲,而真正的完成也是在flush这步,日志还是要经过OS缓冲
原文地址:
http://www.mtop.cc/node/100
MySQL innodb_flush_method 【转载】相关推荐
- mysql主从复制--转载
MySQL 5.7.18的安装与主从复制 CentOS6.7安装mysql5.7.18 1. 解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glib ...
- MySQL触发器(转载)
触发器(trigger)是数据库中的一个很重要的.很实用的基于事件的处理器,在处理一些业务需求的时候,使用触发器会很方便.似乎在<高性能MySQL>中,对触发器作了一定的描述,也提到使用中 ...
- 在Ubuntu中安装MySQL (转载)
MySQL在Linux Ubuntu中安装 本文使用的Linux是Ubuntu 12.04.2 LTS 64bit的系统,安装MySQL数据库软件包可以通过apt-get实现. 在Linux Ubun ...
- MySQL Innodb_flush_method
本文出自: http://weipengfei.blog.51cto.com/1511707/985968 innodb_flush_log_at_trx_commit 决定了事务日志何时write ...
- .net连接mysql数据_.net连接MYSQL数据库 转载
方法一: 使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也 ...
- 如何在docker中运行MySQL实例(转载)
如何在docker中运行MySQL实例 转自:https://blog.csdn.net/siying8419/article/details/79670246 通常初学者学习docker时,不太清楚 ...
- ubyntu 链接mysql_ubuntu下mysql连接(转载)
ubuntu下mysql默认只能从本地连接的解决方法 sudo gedit /etc/mysql/my.cnf 修改一个字段 bind-address = 127.0.0.1 -> bind-a ...
- [转载]linux 出现: Starting MySQL.Manager of pid-file quit without updating file.[FAILED] 已解决...
声明:此文章转载自: http://blog.csdn.net/shuicaohui5/archive/2009/12/16/5015218.aspx 安装mysql 版本: mysql-5.1.41 ...
- linux备份mysql怎样操作,Linux下自动备份MySQL数据库详细操作步骤(转载)
环境说明 操作系统:CentOS IP:192.168.150.214 Oracle数据库版本:Oracle11gR2 用户:root 密码:123456 端口:3306 数据库:ts_0.ts_1. ...
最新文章
- python安装pip-Python2.7.5安装pip9.0.1
- Alibaba Nacos:搭建Nacos平台
- 2018年秋计算机基础在线作业,《计算机应用基础》2017年的秋学期在线作业三.doc...
- 基础算法---二分查找
- 计算机网络原理应用题/计算题
- 显示分类对应的文章数目,为空的设置为0,按文章数目排序
- Python3.4下使用sqlalchemy
- 泛型的意义与通配符理解
- catia导出bom清单_CATIA VBA 二次开发工具 | 一键导出Bom信息到Excel
- 【原】使用IPV6,nbsp;10M/s高速BT互传…
- 新手怎么用word制作表格
- 个人Linux学习笔记操作大全
- 世界自然基金会推出区块链工具以跟踪食品供应链
- 一.学习前的准备-java程序员必备知识
- 11-散列1 电话聊天狂人 (25分)
- Python:pandas.DataFrame.describe(df.describe(include='all'))
- buck-boost电路计算
- 【系统架构设计师】第一章:操作系统(1.2.2) 信号量与pv操作
- 算法成长之路------CF22A Second Order Statistics
- ToB 服务的交付能力优化
热门文章
- 域控服务器状态检查和标准备份
- 「镁客早报」特朗普复活美国太空指挥部;ATT的5G网络在美国12个城市上线
- Oracle RMAN备份深入解析--联机备份
- sql server 2012序列号
- ORA-01855: AM/A.M. or PM/P.M. required错误解决
- 【Amazon 必考】Amazon Leadership Principles 亚马逊领导力准则
- 小型音乐播放器插件APlayer.js的简单使用例子
- Servlet监听器Listener
- 逃离湾区,下一站是哪里?西雅图 PK 奥斯汀
- 【思维导图】redis