- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL主从集群技术
* * * * * * MySQL主从集群技术 * 内容提要 Mysql 主从集群概述 主从复制原理 容灾与升级 演示 * Mysql 主从集群概述 Master-Slave的数据库集群机制解决了很多问题,特别是read/write比较高的web2.0应用: 1、写操作全部在Master节点执行, Slave节点通过Replication(复制)机制同步 Master的bin-log 。 2、将众多的用户读请求分散到更多的Slave数据库节点,从而减轻了单点的压力。 * Mysql 主从集群概述 它的缺点是: 1、Slave的实时性较差,对于实时性很高的场合可能需要做一些处理。 2、高可用性问题,Master是致命点。 * Mysql 主从集群概述 Master-Slave 逻辑架构(1+2): * 主从复制原理 一、Master-Slave Replication 原理 * 主从复制原理 Slave 的IO线程连接上Master,告知Master需要读取指定日志文件(mysql-bin.xxxxxx)的指定位置之后的内容,并处于侦听状态,等待Master的Binlog Dump发送更新。 Master 接收到来自 Slave 的 IO 线程的请求后,若发现所请求的文件和位置之后有更新,则把更新内容返回给 Slave 的 IO线程。返回信息还包括本次返回的信息在 Master 端的 bin-log文件的名称以及在 bin-log 中的位置。 * 主从复制原理 Slave 的 IO 线程接收到信息后,将接收到的日志内容 依次写入到 Slave 端的RelayLog文件(mysql-relay-log.xxxxxx)的最末端,并将读取到的Master端的bin-log的文件名和位置记录到 文件中。以便在下一次读取的时候能够清楚的告诉Master,需要哪个bin-log的哪个位置之后的日志。 * 主从复制原理 Slave 的 SQL 线程检测到 Relay Log 中新增的内容后,会马上解析该 Log 文件中的内容成为在 Master端真实执行时候的那些可执行的 Query 语句,并在自身执行这些 Query。这样,实际上就是在 Master 端和 Slave端执行了同样的 Query,所以两端的数据是完全一样的。 * 主从复制原理 二、复制相关的文件 mysql-bin.index 。服务器一旦开启二进制日志,会产生一个与二日志文件同名,但是以.index结尾的文件。它用于跟踪磁盘上存在哪些二进制日志文件。MySQL用它来定位二进制日志文件。 * 主从复制原理 mysql-relay-bin.index。该文件的功能与mysql-bin.index类似,但是它是针对中继日志,而不是二进制日志。 。保存master的相关信息。不要删除它,否则,slave重启后不能连接master。 包含slave中当前二进制日志和中继日志的信息。 * 主从复制原理 三、复制过滤(Replication Filters) 复制过滤可以让你只复制服务器中的一部分数据,有两种复制过滤: 在master上过滤二进制日志中的事件; 在slave上过滤中继日志中的事件。 * 容灾与升级 一、 宕机 在一主两从的模式中,如果Master宕机,则: 分别检查Slave1和Slave2中的和中的Master_Log_file与Master_Log_Pos的值是否一致,并记下它们的值。如果不一致,以靠后的值为准。 开启Slave1上的二进制日志,使其成为新Master,然后Slave2通过change master 命令连接新Master。最大程度上保证业务的连续性。 * 查看宕机的Master是否可以修复,若可以,则将其设成新的Slave,并相同的方法,连接新的Master。 容灾与升级 * 容灾与升级 如果其中的一个Slave宕机,则: 如果此Slave可以手动重启恢复,则Slave在重启后,会自动同步Master上的所有更新。 如果Slave不可重启,则需要通过Centos光盘启动进入rescue模式,挂载硬盘后,把Slave的data_dir(默认/var/lib/mysql/data)目录下的所有文件Copy出来。 * 实例分析 在网络防火墙处的配置为: Iptables -P FORWARD DROP iptables?-A?FORWARD??-m?state?--state?NEW,ESTABLISHED?-j?ACCEPT iptables?-t?nat?-A?PREROUTING?-d?6??-p?tcp?--dport?80?-j?DNAT?--to?7:80 *
文档评论(0)