当前位置: 首页 > news >正文

半同步复制

MySQL半同步复制(Semisynchronous replication)旨在提高数据安全性,减少数据丢失的风险。在半同步复制中,主库在执行完客户端提交的事务后,不会立即返回给客户端,而是等待至少一个从库接收并将事务写入中继日志(relay log)后,主库才会返回给客户端。这样,即使主库发生故障,至少有一个从库已经接收到了事务,从而减少了数据丢失的风险。

半同步复制的工作原理

  1. 主库操作:主库将事务写入二进制日志(binlog),然后将binlog数据传递到从库并刷新到磁盘(relay log)。
  2. 等待确认:主库等待从库反馈接收到relay log的确认信息(ACK)。
  3. 提交事务:主库在收到ACK后,提交事务并返回提交成功的结果给客户端。

半同步复制的配置

  1. 安装插件:在主库和从库上安装半同步复制插件。
  2. 启用半同步:在主库和从库上启用半同步复制。
  3. 重启IO线程:在从库上重启IO线程,使半同步复制生效。

半同步复制的优势

  1. 数据安全性:提高了数据的安全性,减少了数据丢失的风险。
  2. 性能影响:虽然会增加主库的延迟,但性能影响相对较小。
  3. 配置灵活性:可以选择等待一个以上的从库确认,提高了配置的灵活性。

半同步复制的注意事项

  1. 网络延迟:半同步复制依赖于网络,如果网络延迟较高或不稳定,可能会影响事务的提交性能。
  2. 故障转移:半同步复制本身不提供自动故障转移的功能,需要额外配置故障检测和自动切换机制。

半同步模式

1.AFTER_COMMIT模式流程(V5.5和V5.6默认值)

  1. 主库执行事务

  2. 主库将事务写入binlog

  3. 主库提交事务(存储引擎层完成提交)

  4. 等待从库确认收到binlog

  5. 返回结果给客户端

2.AFTER_SYNC模式流程(V5.7默认值)

  1. 主库执行事务

  2. 主库将事务写入binlog

  3. 等待从库确认收到binlog

  4. 主库提交事务(存储引擎层完成提交)

  5. 返回结果给客户端

http://www.jsqmd.com/news/468415/

相关文章:

  • 蓝桥杯 残缺的数字
  • 苍穹外卖(数据统计-图形报表)
  • 苍穹外卖(数据统计–Excel报表)
  • 蓝桥杯 整数变换
  • OpenTelemetry Operator避坑指南:从TLS证书配置到Sidecar自动注入的全流程解析
  • 算法训练-模拟
  • Java(API与算法篇)
  • 量化交易策略的运行
  • 蓝桥杯 定时任务
  • 医疗影像分割实战:从原理到代码,全面解析surface-distance评估指标
  • 蓝桥杯 火车运输
  • ArcGIS实战:从XYZ坐标点到等高线的全流程解析
  • OpenVINO模型量化实战:用NNCF搞定PaddleOCR文本检测模型(附完整代码)
  • 为什么消息队列不像数据库那样可以配置读写分离?
  • Halcon 3D视觉实战:从点云预处理到精准定位的完整流程解析
  • 蓝桥杯 最大区间
  • 大端小端检测实战:5分钟用联合体写出CPU字节序测试工具(附结构体对比)
  • 量化交易系统技术方案设计
  • pr 3dmax ae au 达芬奇等各类安装包需要的自提,
  • swift- Swift中常见的面试题
  • Electron-build进阶技巧:利用NSIS脚本实现安装包注册表操作与文件管理
  • TL5000BCJ激光器参数解析与常见应用场景(含线宽与功率优化技巧)
  • Kafka topic 中的 partition 数据倾斜问题
  • 点云配准避坑指南:ICP算法中点到点/面/线的5个实战误区
  • Protobuf编码实战:从TLV到ZigZag,手把手解析二进制流
  • SDC命令实战:get_lib_cells在Design Compiler中的高效查询技巧
  • 智能基座智享未来ep01:openGauss使用指南
  • 我不允许有人不知道 Win11 专业版密钥,简易 Win11 专业版密钥
  • 1.26 PowerBI数据刷新实战:从报错定位到高效修复
  • OGG经典模式下不停机同步新增表的完整流程(含SCN号获取与数据导出导入)