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

前面已经介绍了如何为一个主库设置一个备库,接下来介绍其他比较普遍的拓扑结构以及优缺点。记住以下原则:

1)一个MySQL 备库实例只能有一个主库。

2)每个备库必须有一个唯一的服务器ID。

3)一个主库可以有多个备库。

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

一主库对多备库

事实上一主多备的结构和配置基本上差不多,因为备库之间根本没有交互。

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

1)为不同的角色使用不用的备库。

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

3)把一台备库放到远程数据中心,用做灾难恢复。

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

5)使用其中一个备库,用做备份、培训、开发或者测试使用服务器。

主动 — 主动模式下的主 — 主复制

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

这种配置最大的问题就是如何解决冲突,两个可写的互主服务器导致的问题非常多。这通常发生在两台服务器同时修改一行记录,或同时在两台服务器上包含一个 AUTO_INCREMENT 列的表里插入数据。

MySQL 5.0 增加了一些特性,使得这种配置稍微安全了点。总地来说,允许向两个服务器上写入所带来的麻烦远远大于其带来的好处。

主动 — 被动模式下的 主 — 主复制

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

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

对两台服务器上执行如下设置后,会使其拥有对称的设置:

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

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

3.启用备库更新的日志记录,这是故障转移和故障恢复的关键。

4.把被动服务器配置成只读,防止可能与主动服务器上的更新产生冲突,这一点是可选的

5.启动每个服务器上的 MySQL 实例

6.将每个主库设置成对方的备库,使用新创建的二进制日志开始工作。

拥有备库的主 — 主结构

另外一种相关的配置是为每一个主库增加一个备库。

这种配置的优点是增加了冗余,对于不同地理位置的复制拓扑,能够消除站点单点失效的问题。

环形复制

双主结构实际上是环形结构的一种特例。环形结构可以有三个或者更多的主库。每个服务器都是在它之前的服务器的备库,是在它之后的服务器的主库。这种结构也被称为环形复制。

因为唯一可以根据服务器ID 将其过滤的服务器是创建这个事件的服务器,总地来说,环形结构非常脆弱,应该尽量避免。

可以通过为每个节点增加备库的方式来减少环形复制的风险。

mysql 环形复制_MySQL 复制(五:拓扑结构) | 剑花烟雨江南相关推荐

  1. mysql 串行复制_MySQL 复制(四:复制原理) | 剑花烟雨江南

    一.基于语句的复制 在MySQL5.0之前的版本只支持基于语句的复制(也称为逻辑复制),这在数据库领域是很少见的.基于语句的复制模式下,主库会记录那些造城数据更改的查询,当备库读取并重放这些事件时,实 ...

  2. mysql行复制_MySQL复制(一)--复制概述

    (一)什么是复制 MySQL复制可以使数据从一台MySQL服务器(主服务器)复制到一台或多台MySQL服务器(从服务器),默认情况下,MySQL的复制是异步的,从服务器不需要永久连接就可以接收来自主服 ...

  3. mysql 基于语句的复制_MySQL 复制 - 性能与扩展性的基石 1:概述及其原理

    1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步.接下来,我们将从复制概述及原理.复制的配置.常 ...

  4. mysql 星 拓扑_mysql数据库常用拓扑结构

    MySQL数据库复制的几个常用拓扑结构 (1) 每个slave只能有一个master: (2) 每个slave只能有一个唯一的服务器ID: (3) 每个master可以有很多slave: (4) 如果 ...

  5. mysql 环形复制_mysql复制(Replication)

    1.复制概述 1.1.复制解决的问题 数据复制技术有以下一些特点: (1)    数据分布 (2)    负载平衡(load balancing) (3)    备份 (4)    高可用性(high ...

  6. mysql自动监控_MySQL复制 自动监控脚本

    作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. #!/bin/sh # # created by yejr, 2 ...

  7. mysql decode语句_MySQL复制问题的分析

    s这是学习笔记的第 2031 篇文章 最近有个业务的MySQL复制问题还是比较多,做了事务降维之后,把一些敏感操作和线上环境隔离起来,整体的效果好了许多,不过今天在外面的时候,又收到一条报警短信,让我 ...

  8. mysql server_id作用_MySQL复制过程中server-id的理解

    一.    server-id做什么用的,你知道吗? 1. MySQL的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的 2. 每 ...

  9. mysql 实例复制_MySQL 复制详解及简单实例

    MySQL 复制详解及简单实例 主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等.MySQL支持多种不同的复 ...

最新文章

  1. 「留光」1小时:中科大让我们离「量子U盘」又近了一步
  2. 二分图最小覆盖的Konig定理及其证明
  3. 特岗计算机老师年度总结,特岗教师个人年度工作总结
  4. 23个机器学习项目,助你成为人工智能大咖
  5. 绘制基础知识-canvas paint
  6. 轨道车辆垂向振动Matlab建模与仿真,基于matlab/simulink的车辆建模与故障分析
  7. c++freopen函数_使用示例的C语言中的freopen()函数
  8. leanote 支持php,Leanote source leanote源码导读
  9. vmware vsphere powercli 因为在此系统中禁止执行脚本
  10. tms intraweb html5,TMS VCL Chart
  11. iOS:segment对齐原则
  12. 常用地图经纬度转换,以及遇到的问题和解决方式
  13. 推荐一款点阵字库生成工具/点阵生成器
  14. 影响计算机性能的决定因素,影响cpu性能的因素有哪些
  15. 微型计算机分类可以分为哪些,微型计算机的分类通常以微处理器的什么来划分...
  16. 广东省推出居民身份电子凭证,忘带身份证也能住酒店了
  17. 镶嵌数据集工具小结(八)色彩平衡与接缝线 Ⅱ
  18. 一台服务器支持多个域名和站点
  19. 不属于c语言程序运算符,以下选项中不属于C语言程序运算符的是( )
  20. 用级数进行对数计算,基于ln(x)求loga(b)

热门文章

  1. el-table 树形表格 自定义展开图标_Windows图标美化指南,从内到外焕然一新
  2. 【数据压缩作业】MEPG音频编码
  3. android9有32位吗,安卓9.0+EMUI9.0系统汇总:目前支持32款机型,你手机用上没?
  4. Android ActionBar 兼容2.x注意细节
  5. 达芬奇模板-梦幻棱镜光效折射视觉特效预设Prismatic Effects
  6. uva 1626 - Brackets sequence
  7. 【题目】定义学生类,显示五个学生的信息(学号、姓名、性别、年龄、成绩)。并输出他们中最低和最高的成绩,以及计算他们的平均分。
  8. 联想小新air14怎么取消开盖开机
  9. 嵌入式学习——stm32(3.1)定时器基础
  10. mysql mvcc实现乐观锁_MVCC-乐观锁