sync_binlog

5.6默认值0,到了5.7默认是1

sync_binlog

成都创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站设计、网站制作质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式成都全网营销推广需求,让再小的品牌网站设计也能产生价值!

Command-Line Format --sync-binlog=#
System Variable Name sync_binlog
Variable Scope Global
Dynamic Variable Yes
Permitted Values (32-bit platforms) Type integer
Default 0
Min Value 0
Max Value 4294967295
Permitted Values (64-bit platforms) Type integer
Default 0
Min Value 0
Max Value 4294967295

If the value of this variable is greater than 0, the MySQL server synchronizes its binary log to disk (using fdatasync()) after sync_binlog commit groups are written to the binary log. The default value of sync_binlog is 0, which does no synchronizing to disk—in this case, the server relies on the operating system to flush the binary log's contents from time to time as for any other file. A value of 1 is the safest choice because in the event of a crash you lose at most one commit group from the binary log. However, it is also the slowest choice (unless the disk has a battery-backed cache, which makes synchronization very fast).

百度翻译:如果这个变量的值大于0,MySQL服务器同步二进制日志到磁盘(使用fdatasync())后sync_binlog犯组写入二进制日志。sync_binlog的默认值是0,并没有同步在这种情况下,磁盘,服务器依赖于操作系统的二进制日志的内容刷新时间为任何其他文件。一个1的值是最安全的选择,因为在一个崩溃的事件,你失去了最一个提交组从二进制日志。然而,它也是最慢的选择(除非磁盘具有电池备份的高速缓存,这使得同步非常快)。



sync_binlog=1 or N
     This makes MySQL synchronize the binary log’s contents to disk each time it commits a transaction 
     默认情况下,并不是每次写入时都将binlog与硬盘同步。因此如果操作系统或机器(不仅仅是MySQL服务器)崩溃,有可能binlog中最后的语句丢 失了。要想防止这种情况,你可以使用sync_binlog全局变量(1是最安全的值,但也是最慢的),使binlog在每N次binlog写入后与硬盘 同步。即使sync_binlog设置为1,出现崩溃时,也有可能表内容和binlog内容之间存在不一致性。如果使用InnoDB表,MySQL服务器 处理COMMIT语句,它将整个事务写入binlog并将事务提交到InnoDB中。如果在两次操作之间出现崩溃,重启时,事务被InnoDB回滚,但仍 然存在binlog中。可以用--innodb-safe-binlog选项来增加InnoDB表内容和binlog之间的一致性。(注释:在MySQL 5.1中不需要--innodb-safe-binlog;由于引入了XA事务支持,该选项作废了),该选项可以提供更大程度的安全,使每个事务的 binlog(sync_binlog =1)和(默认情况为真)InnoDB日志与硬盘同步,该选项的效果是崩溃后重启时,在滚回事务后,MySQL服务器从binlog剪切回滚的 InnoDB事务。这样可以确保binlog反馈InnoDB表的确切数据等,并使从服务器保持与主服务器保持同步(不接收 回滚的语句)。

网页名称:sync_binlog
当前链接:http://myzitong.com/article/igepip.html