高性能MySQL-第十章 复制(2)

1、复制拓扑

可以在任意个主库和备库之间建立复制,只有一个限制:每一个备库只能有一个主库。
基本原则:
一个MYSQL备库实例只能有一个主库。
每个备库必须有一个唯一的服务器ID。
一个主库可以有多个备库(或者相应的,一个备库可以有多个兄弟备库)。
如果打开了log_slave_updates选项,一个备库可以把其主库上的数据变化传播到其他备库。
一、一主库多备库
用途:
为不同的角色使用不同的备库。
把一台备库当作待用的主库,除了复制没有其他数据传输。
将一台备库放到远程数据中心,用作灾难恢复。
延迟一个或多个备库,以备灾难恢复。
使用其中一个备库,作为备份、培训、开发或者测试使用服务器。
二、主动-主动模式下的主-主复制
主-主复制(也叫双主复制或者双向复制)包含两台服务器,每一个都被配置成对方的主库和备库,换句话说,它们是一对主库。
三、主动-被动模式下的主-主复制
其中的一台服务器是只读的被动服务器。
在两台服务器上执行如下设置后,会使其拥有对称的设置:
确保两台服务器上有相同的数据。
启用二进制日志,选择唯一的服务器ID,并创建复制账号。
启用备库更新的日志记录。
把被动服务器配置成只读,防止可能与主动服务器上的更新产生冲突,这一点是可选的。
启动每个服务器的MYSQL实例。
将每个主库设置为对方的备库,使用新创建的二进制日志开始工作。
四、拥有备库的主-主结构
五、环形复制
双主结构实际上是环形结构的一种特例。环形结构可以有三个或更多的主库。每个服务器都是在它之前的服务器的备库,是在它之后的服务器的主库。这种结构也称为环形复制(circular replication)。
六、主库、分发主库以及备库
如果需要多个备库,一个好办法是从主库移除负载并使用分发主库。分发主库事实上也是一个备库,它的唯一目的就是读取和提供主库的二进制日志。
七、树或金字塔形
八、定制的复制方案
典型的定制方案包括组合过滤、分发和向不同的存储引擎复制。
选择性复制
将主库上的数据划分到不同的数据库里,将每个数据库复制到不同的备库上。
分离功能
数据归档
将备库用作全文检索
只读备库
模拟多主库复制
创建日志服务器
2、MYSQL复制的高级特性
半同步复制
复制心跳
 

相关推荐