MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结.doc

MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结课件

MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结 一、主从复制搭建方法参考 1、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解请参考: /xlgen157387/article/detailscomments 2、使用mysqlreplicate命令快速搭建 Mysql 主从复制: /xlgen157387/article/details二、Mysql 主从复制的常用拓扑结构 2.1、一主一从 这里写图片描述 是最基础的复制结构,用来分担之前单台数据库服务器的压力,可以进行读写分离。 2.2、一主多从 一台 Slave 承受不住读请求压力时,可以添加多台,进行负载均衡,分散读压力。 还可以对多台 Slave 进行分工,服务于不同的系统,例如一部分 Slave 负责网站前台的读请求,另一部分 Slave 负责后台统计系统的请求。 因为不同系统的查询需求不同,对 Slave 分工后,可以创建不同的索引,使其更好的服务于目标系统。 2.3、双主复制 Master 存在下线的可能,例如故障或者维护,需要把 Slave 切换为 Master。 在原来的 Master 恢复可用后,由于其数据已经不是必威体育精装版的了,不能再做主,需要做为 Slave 添加进来。 那么就需要对其重新搭建复制环境,需要耗费一定的工作量。 双主结构就是用来解决这个问题的,互相将对方作为自己的 Master,自己作为对方的 Slave 来进行复制,但对外来讲,还是一个主和一个从。 当 主Master 下线时,备Master 切换为 主Master,当原来的 主Master 上线后,因为他记录了自己当前复制到对方的什么位置了,就会自动从之前的位置开始重新复制,不需要人为地干预,大大提升了效率。 2.4、级联复制 当直接从属于 Master 的 Slave 过多时,连到 Master 的 Slave IO 线程就比较多,对 Master 的压力是很大的。 级联结构就是通过减少直接从属于 Master 的 Slave 数量,减轻 Master 的压力,分散复制请求,从而提高整体的复制效率。 2.5、双主级联 级联复制结构解决了 Slave 过多导致的瓶颈问题,但还是有单主结构中切换主时的维护问题。 那么为了解决这个问题,就可以加入上面的双主结构。 在必要时,可以再对 Slaves 进行分级。 Mysql 的复制结构有很多种方式,复制的最大问题是数据延时,选择复制结构时需要根据自己的具体情况,并评估好目标结构的延时对系统的影响。 三、Mysql 主从复制过程及原理 3.1、Binary Log 简单介绍 因为Binlog dump 线程操作的文件是bin-log 日志文件,并且实现主从复制在主服务器上主要依靠bin-log日志文件,所以我们简单介绍一下bin-log日志文件。 3.2、原理 MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合。与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少。 MySQL Replication 就是从服务器拉取主服务器上的 二进制日志文件,然后再将日志文件解析成相应的SQL语句在从服务器上重新执行一遍主服务器的操作,通过这种方式来保证数据的一致性。 MySQL的Replication是一个异步复制的过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),它是从一个Mysql instance(instance英文为实例)(我们称之为Master)复制到另一个Mysql instance(我们称之slave)。 3.3、三个线程 在master与slave之间实现整个复制过程主要由三个线程来完成: 1、Slave SQL thread线程,在slave端 2、Slave I/O thread线程,在slave端 3、Binlog dump thread线程(也可称为IO线程),在master端 1 2 3 注意:如果一台主服务器配两台从服务器那主服务器上就会有两个Binlog dump 线程,而每个从服务器上各自有两个线程。 要实现MySQL的Replication,首先必须打开master端的binlog (mysql-bin.xxxxxx)日志功能,否则无法实现mysql的主从复制。因为mysql的整个主从复制过程实际上就是:slave端从master端获取binlog日志,然后再在自己身上完全顺序的执行该日志中所记录的各种SQL操作。有关具体如何开启mysql的b

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档