Mysql实现企业级主从复制和互为主从模式架构

 在实现mysql的多种模式前提下,首先先介绍一下mysql是如何工做的。mysql

  大概网络拓扑图以下:linux

  15cdc301ce6d090ce93dd4cab6af5729.png 

  一、该过程的第一部分就是master记录二进制日志。在每一个事务更新数据完成以前,master在二进制日志记录这些改变。MySQL将事务串行的写入二进制日志,在事件写入二进制日志完成后,master通知存储引擎提交事务。此后可接收slave的请求。sql

  二、下一步就是slave将master的binary log拷贝到它本身的中继日志。首先,slave开始一个工做线程——I/O线程。I/O线程在master上打开一个普通的链接,而后开始在主节点上binlog dump process(二进制转存线程)。Binlog dump process从master的二进制日志中读取事件,若是已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。数据库

  三、SQL slave thread(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数据一致。只要该线程与I/O线程保持一致,中继日志一般会位于OS的缓存中,因此中继日志的开销很小。centos

  1、主从复制模式。缓存

  一、环境准备:服务器

  centos系统服务器2台、一台用户作Mysql主服务器(172.17.110.111),一台用于作Mysql从服务器(172.17.38.39),配置好yum源、防火墙关闭、各节点时钟服务同步、各节点之间能够经过主机名互相通讯。网络

  二、准备步骤:框架

  (1)iptables -F && setenforce 清空防火墙策略,关闭selinuxide

  (2)拿两台服务器都使用yum方式安装Mysql服务,要求版本一致

  (3)分别启动两台服务器mysql服务,确保服务正常

  ①配置master的主配置文件。

  f59b3de390033604d050d16df2646390.png

  ②启动服务,建立复制帐号,对slave进行受权。

  fd9851255dcfe2a31c1fce0cce91c846.png  还能够查看二进制文件,查看更新的事物。

  b1428a6a875dc178167612cdf2614249.png  ③配置slave的主配置文件

  6055dc7c0f441d77ee7b71a13ecc9a5c.png

  ④让slave链接master,读取master的二进制日志更新的事物。

  97789689a0b6cf360da7f3bdc895621a.png-wh_


  cb87a7b0a5bcd04f4f7ea59e4f5d405d.png

  2、实现互为主从框架。

  ①修改配置文件(172.17.110.111服务器)

  382d6a3d0e404f90c2165128aa3c0a6a.png 


  两个服务器配置文件除了id不同,其它都同样(172.17.38.39服务器)。

  6d2f10eb35197c2674f3e7e4a50b7a07.png

  ②双方相互受权,即彼此即便对方的主也是对方的从。

  在(172.17.38.39服务器)指向(172.17.110.111),并查看状态

  97789689a0b6cf360da7f3bdc895621a.png-wh_ 


  a096beede4bfd9796b76df15f22af86b.png

  在172.17.110.111服务器,指向(172.17.38.39),查看状态。

  ea101d7801d148247613cd14adef1699.png

  ③测试。

  在(172.17.110.111服务器)建立一个数据库,里面存放内容。在(172.17.38.39服务器)上查看是否同步。

  792800b91a3f8b3b5f70e7674fbe6fa0.png


  36aa70630230b04335327fa92a2a56c5.png  

  在在(172.17.38.39服务器)建立一个数据库,里面存放内容。在(172.17.110.111服务器)上查看是否同步。

  f78a1340fa5696f3c15008b0b0d7555a.png


  f2e197432b5deda3ed0523cf9ae3a8bc.png

相关文章
相关标签/搜索