复制拓扑

10.4 复制拓扑


可以在任意个主库和备库之间建立复制,只有一个限制,每一个备库只能有一个主库。


有很多负载的拓扑结构,但即使是最简单的也可能会非常灵活。一种拓扑可以有多重用途。




1.一个Mysql 备库实例只能有一个主库

2.每个备库必须有一个唯一的server-id

3.一个主库可以有多个备库(或者相应的,一个备库可以有多个兄弟备库)

4.如果打开了log_slave_updates选项,一个备库可以把其主库的数据变化传播到其他备库。



10.4.1 一主库多备库


除了我们已经提过的两台服务器的主备结构外,这是最简单的拓扑结构。事实上一主多备的结构和基本配置

都差不多简答n,因为备库之间根本没有交互,它们仅仅是连接到同一个主库上。


在有少量写和大量读时,这种配置是非常有用的。可以把读分摊到多个备库上,直到备库给主库造成了太大的负担


或者主备之间的带宽称为瓶颈为止。你可以按照之前介绍的方法一次性设置多个备库,或者根据需要增加备库。



注意:从技术上讲并非争取的,但如果有重复的server-id,它们将陷入竞争,并反复将对方从主库上踢出。

尽管这是非常简单的拓扑结构,但它非常灵活,能满足多种需求。 下面是它的一些用途:

1.为不同的角色使用不同的备库(例如添加不同的索引或使用不同的存储引擎)

2.把一台备库当作待用的主库,出了复制没有其他数据传输。

3.将一台备库放到远程数据中心,用作灾难恢复。

4. 延迟一个或多个备库,以备库灾难恢复。


5.使用其中一个备库,作为备份,培训,开发或者测试使用服务器。


10.4.2  主动--主动模式下的主--主复制

主--主复制(也叫双主复制或双向复制) 包含两台服务器,每一个都被配置成对方的主库和备库。换句话说他们是一堆主

库

这种模式不考虑,不安全

10.4.3   主动---被动模式下的主--主复制



这时前面描述的主--主结构的变体,它能够避免我们之前讨论的问题。这也是构建容错性和高可用性系统的非常强大的
方式,主要区别在于其中的一台服务器是只读的被动服务器。



这种方式使得反复切换主动和被动服务器非常方便,因为服务器是配置是对称的。这使得故障转移和故障恢复很容易。



它也可以让你在不关闭服务器的情况下执行维护,优化表,升级操作系统。



例如alter table 操作可能胡锁住整个表,阻塞对表的读和写,这可能会花费很长时间并导致服务中断。


然而在主--主配置下,可以先停止主动服务器上的备库复制线程(这样就不会在被动服务器上执行任何更新),

然后在被动服务器上执行alster 操作,交换角色,最后在先前的主动服务器上启动复制线程。


这个服务器会读取中继日志并执行相同的ALTER语句,这可能会花费很长的时间,但不要紧,因为该服务器没有为任何活动

查询提供服务。




配置:

1.确保两台服务器上有相同的数据

2.启用二进制日志,选择唯一的服务器ID,并创建复制账号

3.启动备库更新的日志记录

4.把被动服务器配置为只读,访问可能与主动服务器上的更新产生冲突












  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值