Mysql开启bin-log日志使用bin-log时,默认情况下,并不是每次执行写入就与硬盘同步,这样在服务器崩溃是,就可能导致bin-log最后的语句丢失。

可以通过这个参数来调节,sync_binlog=N,使执行N次写入后,与硬盘同步。1是最安全的,但是也是最慢的。

参考Mysql官网:http://dev.mysql.com/doc/refman/5.5/en/replication-options-binary-log.html#sysvar_sync_binlog


参考:http://blog.csdn.net/wulantian/article/details/9965905

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表的确切数据等,并使从服务器保持与主服务器保持同步(不接收 回滚的语句)。

最新文章

  1. Spring 02多种注入方式和注解实现DI
  2. proxy改变this指向
  3. Android子线程真的不能更新UI么
  4. [CareerCup] 17.13 BiNode 双向节点
  5. Unity脚本生命周期
  6. [转]ms sql 2000 下批量 附加/分离 数据库(sql语句)
  7. ECshop中TemplateBeginEditable 和后台编辑讲解
  8. 自学QT笔记
  9. nodejs的mysql模块学习(八)关闭连接池
  10. c/c++面试总结(2)
  11. 第四届蓝桥杯C/C++A组题目:振兴中华
  12. Hadoop 学习笔记 (十一) MapReduce 求平均成绩
  13. BZOJ 4698: Sdoi2008 Sandy的卡片 [后缀自动机]
  14. EBS应付(AP)模块常用表
  15. 学unity3d需要什么基础
  16. Redis源码 - 事件管理
  17. C#动态设置webServer路径
  18. XAML绑定到资源文件字符串时失败
  19. String 与 StringBuffer的差别
  20. Windows下dump文件生成与分析

热门文章

  1. iOS 自定义相机带拍摄区域边框及半透明遮罩层(含源码)
  2. AppCompatActivity与toolbar的结合
  3. 用Qemu模拟vexpress-a9 (二) --- 搭建u-boot调试环境
  4. [ubuntu Setup] ubuntu 14.10 安装 JDK
  5. iOS:GitHub上值得关注的iOS开源项目
  6. servlet虚拟路径映射
  7. MyEclipse中快捷键
  8. Qt Creator 乱码问题
  9. Java源码阅读PriorityQueue
  10. 10 Essential TypeScript Tips And Tricks For Angular Devs