weixin_52225937 2022-10-30 02:37 采纳率: 91.7%
浏览 7
已结题

mysql实战45讲疑问

redolog和binlog,redolog两阶段提交,如果写完binlog,提交事务时出错了,那么redolog无法提交事务。但binlog已经写完了,那两日志也不一致了怎么办呢?还是说不会出现这种情况呢

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-30 12:05
    关注
    • 这篇文章:MySQL实战45讲总结 也许有你想要的答案,你可以看看
    • 除此之外, 这篇博客: 吃透MySQL(十一):undolog redolog binlog原理详细介绍中的 2,binlog刷盘时机 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 对于 InnoDB 存储引擎而言,只有在事务提交时才会记录 biglog ,此时记录还在内存中,那么 biglog是什么时候刷到磁盘中的呢?mysql 通过 sync_binlog 参数控制 biglog 的刷盘时机,取值范围是 0-N:

      • 0:不去强制要求,由系统自行判断何时写入磁盘;
      • 1:每次 commit 的时候都要将 binlog 写入磁盘;
      • N:每N个事务,才会将 binlog 写入磁盘。

      从上面可以看出, sync_binlog 最安全的是设置是 1 ,这也是 MySQL 5.7.7之后版本的默认值。但是设置一个大一些的值可以提升数据库性能,因此实际情况下也可以将值适当调大,牺牲一定的一致性来获取更好的性能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月30日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?