分享更有价值
被信任是一种快乐

MySQL中innodb_flush_method函数有什么作用

文章页正文上

本篇内容介绍了“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缓冲“MySQL中innodb_flush_method函数有什么作用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: PostgreSQL的日志文件参数及注意事项有哪些

这篇文章主要介绍“PostgreSQL的日志文件参数及注意事项有哪些”,在日常操作中,相信很多人在PostgreSQL的日志文件参数及注意事项有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PostgreSQL的日志文件参数…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册