
默认参数1 每一次事务提交或事务外的指令都需要把日志写入硬盘,io开销大
参数0 每隔一秒把log buffer刷到文件系统中去,并且调用文件系统的“flush” *** 作将缓存刷新到磁盘上去。这样的话,可能丢失1秒的事务数据。
参数 2 在每次事务提交的时候会把log buffer刷到文件系统中去,但是每隔一秒调用文件系统的“flush” *** 作将缓存刷新到磁盘上去。
这里解释下,系统文件和磁盘介质之间也有缓存,这里的0 是提交日志之后,每隔1秒将logbuffer刷到系统文件中,并马上执行落盘 *** 作,写到到物理介质
2呢是刷到系统文件系统之后,每隔1秒调用flush,写到物理介质,并不是马上
两者的区别是,0:当mysql挂了之后,可能会损失前一秒的事务信息
2:当mysql挂了之后,如果系统文件系统没挂,不会有事务丢失
以上是个人理解外加google查询资料,如果有误,请帮忙纠正
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)