MySQL复制

This commit is contained in:
罗祥
2019-08-20 13:24:41 +08:00
parent 9b1340bf6d
commit 1aacb86152
3 changed files with 59 additions and 18 deletions

View File

@ -63,7 +63,6 @@ MySQL 的复制原理如下图所示:
<div align="center"> <img src="https://github.com/heibaiying/Full-Stack-Notes/blob/master/pictures/mysql-replication.jpg"/> </div>
### 2.2 配置步骤
首先主节点需要开启二进制日志,并且在同一个复制环境下,主备节点的 server-id 需要不一样:
@ -357,7 +356,7 @@ MMM (Master-Master replication manager for MySQL) 是由 Perl 语言开发的一
除了管理双主节点MMM 也负责管理所有 Slave节点在出现宕机、复制延迟或复制错误MMM 会移除该节点的 VIP直至节点恢复正常。MMM 高可用的架构示例图如下:
<div align="center"> <img src="https://github.com/heibaiying/Full-Stack-Notes/blob/master/pictures/mysql-MMA架构.jpg"/> </div>
MMM 架构的缺点在于虽然其能实现自动切换,但却不会主动补齐丢失的数据,所以会存在数据不一致性的风险。另外 MMM 的发布时间比较早,所以其也不支持 MySQL 最新的基于 GTID 的复制,如果你使用的是基于 GTID 的复制,则只能采用 MHA。
@ -365,7 +364,7 @@ MMM 架构的缺点在于虽然其能实现自动切换,但却不会主动补
MHA (Master High Availability) 是由 Perl 实现的一款高可用程序,相对于 MMM ,它能尽量避免数据不一致的问题。它监控的是一主多从的复制架构,架构如下图所示:
<div align="center"> <img src="https://github.com/heibaiying/Full-Stack-Notes/blob/master/pictures/mysql-MHA架构.jpg"/> </div>
在 Master 节点宕机后,其处理流程如下: