Linux基础学习(9)Lamp架构(3)

📅 2026/8/2 3:42:36
Linux基础学习(9)Lamp架构(3)
MySQL组复制基础定义:MGR 是 MySQL 官方原生高可用集群方案MySQL5.7.17 正式推出8.0 持续增强以插件 group_replication.so 运行基于Paxos 分布式共识协议。目标解决传统主从复制异步丢数据、故障转移依赖外部工具 (MHA)、存在脑裂风险等痛点。架构特点无共享存储Shared-Nothing集群每个实例保存完整副本。对比项传统主从异步 / 半同步MGR 组复制一致性最终一致极端场景丢数据多数派确认强一致防脑裂故障转移需要 MHA/Keepalived 等第三方工具内置自动选主原生自愈写入模型只能单主写入单主 (推荐)/ 多主两种模式冲突处理无冲突检测容易主从不一致内置 write set 冲突检测节点规模一主多从无投票机制推荐 3/5 奇数节点依赖多数派运维复杂度低较高网络稳定性要求严格运行模式:1单主模式 group_replication_single_primary_modeON集群自动选举唯一 Primary 主节点只允许主节点写入其余节点自动设为只读主宕机 → 集群自动投票选出新主自动故障转移无需人工干预几乎无事务冲突运维简单绝大多数业务使用2多主模式 group_replication_single_primary_modeOFF所有节点都可以接收写请求并发修改同一行数据会触发事务冲突回滚业务必须适配冲突重试逻辑适合多地域分布式写入场景核心工作原理:1.事务广播节点执行 RW 事务准备提交前把写入集合 (write set)广播到集群所有成员。只读事务无需广播、直接提交。2.多数派确认Quorum 核心事务必须获得集群半数以上节点 ACK 确认才能允许提交。容错公式集群节点数量建议奇数3、5 节点节点集群最多容忍 1 台故障5 节点最多容忍 2 台故障如果故障节点超过半数 → 无法达成共识集群全部只读防止脑裂。3.冲突认证机制所有节点收到事务广播后对比 write set无冲突事务应用执行存在行冲突后发起的事务直接回滚4.成员视图自动管理内置故障检测节点掉线、宕机、新节点加入集群自动更新成员视图流程:多主模式首先对server1server2server3的mysql数据库进行初始化Server1:停止mysql服务清理数据然后进入启动文件进入mysql修改密码并添加更改属性退出MySQL数据库然后再次更改主配置文件并进入mysql添加命令可以查看本组的工作状态,显示server1 onlineServer2:清除之前的数据并更改配置文件在对server2的mysql进行初始化再次修改配置文件对mysql添加命令可以查看本组的工作状态,显示server1 online server2 onlineServer3:类似server2 只是改id3 修改本机地址