ITPub博客

首页 > 数据库 > MySQL > sync_binlog

sync_binlog

原创 MySQL 作者:哎呀我的天呐 时间:2016-02-22 01:07:16 0 删除 编辑
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表的确切数据等,并使从服务器保持与主服务器保持同步(不接收 回滚的语句)。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29990276/viewspace-1992229/,如需转载,请注明出处,否则将追究法律责任。

下一篇: mysqldump与mysqlpump
请登录后发表评论 登录
全部评论
从事Oracle/MySQL工作多年,11g OCM,擅长Oracle/MySQL SQL Tuning & DB Performance,高可用方案架构

注册时间:2014-10-30

  • 博文量
    253
  • 访问量
    1826929