欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【MySQL】半同步模式

【MySQL】半同步模式

2024/11/29 23:22:35 来源:https://blog.csdn.net/m0_64570996/article/details/141438133  浏览:    关键词:【MySQL】半同步模式
1 半同步模式原理
1. 用户线程写入完成后 master 中的 dump 会把日志推送到 slave
2.slave 中的 io 线程接收后保存到 relaylog 中继日志
3. 保存完成后 slave master 端返回 ack
4. 在未接受到 slave ack master 端时不做提交的,一直处于等待当收到 ack 后提交到存储引擎
5. 5.6 版本中用到的时 after_commit 模式, after_commit 模式时先提交在等待 ack 返回后输出 ok
2.gtid 模式
当为启用 gtid 时我们要考虑的问题
  • master端的写入时多用户读写,在slave端的复制时单线程日志回放,所以slave端一定会延迟与master
  • 这种延迟在slave端的延迟可能会不一致,当master挂掉后slave接管,一般会挑选一个和master延迟日志最接近的充当新的master
  • 那么为接管master的主机继续充当slave角色并会指向到新的master上,作为其slave
  • 这时候按照之前的配置我们需要知道新的master上的posid,但是我们无法确定新的masterslave之间差多少

当激活GITD之后

当master出现问题后,slave2master的数据最接近,会被作为新的master

slave1指向新的master,但是他不会去检测新的masterpos id,只需要继续读取自己gtid_next即可

master主服务器设置gtid模式

在slave上:

启动slave

启用半同步模式
master 端配置启用半同步模式

#安装半同步插件
# 查看插件情况

# 打开半同步功能

# 查看半同步功能状态

在slave端开启半同步功能

# 查看半同步功能状态

# 重启 io 线程,半同步才能生效

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com