您的位置:首页 > 其它

Chapter 17 Replication

2015-10-10 14:18 253 查看
Chapter 17 Replication

内容:

17.1 Replication Configuration [+/-]

17.2 Replication Implementation [+/-]

17.3 Replication Solutions [+/-]

17.4 Replication Notes and Tips [+/-]

复制使数据从一个MySQL 数据库(master)被复制到一个或者多个MySQL database servers(slaves).

复制默认是异步的,因为,slaves不需要永久的连接来接收更新从master 数据库。

这个意味着更新能发生通过远程连接,甚至通过临时的或间歇性的连接,如拨号服务。

根据你的配置,你可以复制所有的数据库,选择的数据库,甚至选择一个数据库的表。

MySQL 复制的优点包括:

扩展的解决方案—分散负载在多个slave来改善性能。在这种环境下,

所有的写和更新必须发生在master上。读,然而,可以发生在一个或者多个slaves上。

这个模型可以改善写的性能(因为master只专门用于更新的),当显著的增加读的速度通过分散到越来越多的slves.

数据安全性: 因为数据是复制到slave,slave可以暂停复制过程,用于运行备份服务在slave上,在不破坏相应的master的数据。

分析: 新鲜的数据可以在Master上创建, 当分析的信息可以发生在slave上,不影响master的性能。

长距离的数据分布– 如果一个分支办公需要你的主数据的一份拷贝,你可以使用复制来创建一个本地的数据的拷贝

用于它们的使用在需要永久访问master的情况下:

复制在MySQL 功能支持单向,异步复制,其中一台服务器作为master,其他的服务器作为slaves.

与此形成鲜明对比的是,同步复制是MySQL 集群的特性(见18章,MySQL Cluster NDB 7.3和MySQL Cluster NDB 7.4)

在MySQL 5.6, 一个接口道半同步复制是支持的除了内置的异步复制。半同步复制,一个提交执行在Master端

阻塞在返回给session前,直到至少一个slave 确认它收到了和记录了事务的events.

见章节17.3.8,”半同步复制” MySQL 5.6 也支持延迟复制 比如一个slave server 故意的滞后在master后至少特定的时间。

见第17.3.9,“延迟复制”。

有很多的解决方案用于设置复制在两个servers之间, 但是最好的方式是使用依赖于存在的数据和你使用的引擎类型。

有关可用选项的更多信息,请参见第17.1.1,如何设置复制”。

有两个核心的服务格式的类型,基于语句的复制(SBR),是复制整个SQL语句,

和基于Row的复制(RBR),只复制改变的行。你也可以使用第3种方式 ,混合型复制(MBR).

在不同的复制格式信息,请参见第17.1.2,“复制格式”。在MySQL 5.6中,基于语句的格式是默认的。

MySQL 5.6.5 和后面支持事务复制基于全局事务标识符(gtids)。当使用这种复制类型的时候,

它不需要使用log files或者position 在那些文件里,从而大大简化了共同的复制任务。

因为复制使用GTIDs是整个事务的, 在master和slave之间的一致性是保证的只要在master上所有的事务提交,

也会应用到slave.更多的信息关于GTIDs and GTID-based replication,see Section 17.1.3, “Replication with Global

Transaction Identifiers”.

复制被一些不同的选项和变量控制,这些控制了核心复制的核心操作,超时,数据库和过滤器。

你可以使用复制来解决不同的问题,包括性能问题,支持不同数据库的比分,以及更大的解决方案来缓解系统故障。有关如何解决

这些问题的信息,请参阅第17.3节,“复制解决方案”。

注意和tips 在不同的数据类型和语句是被处理在复制过程中,包括复制功能的细节,版本兼容性,升级,故障处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: