关于mysql主从复制的概述与分类(转)

  1. 云栖社区>
  2. 博客>
  3. 正文

关于mysql主从复制的概述与分类(转)

developerguy 2016-03-22 20:51:00 浏览837
展开阅读全文

一、概述:

按照MySQL的同步复制特点,大体上可以分为三种类别:

1、异步复制;

2、半同步复制;

3、完全同步的复制;

--------------------------------------------------------------------------------------------------

(一)、异步复制:

1、概念

mysql的异步复制在业界中的叫法有很多,比如:AB复制、主从同步、mysql replication等等。说白了就是master和slave结构。在mysql5.6版本以后又进一步的细分成:传统的复制方法和全新的复制方法。

 

2、5.6以后的mysql主从复制的分类:

2.1、传统复制方法是按照binlog的三种日志格式进行划分的:

基于语句的复制,即statement模式。

基于行的复制,即row模式。

基于混合的复制,即mixed

 

2.2、全新的复制方法:基于GTID的复制。

 

 

3、关于master和slave的关系:

不是主备模式,而是数据镜像。

特别在GTID环境下,不能在slave上做dml操作。

slave拿到master上的日志,在slave上以串行的方式进行重放。

I/O现成是一个(串行),sql线程和DB一样多。

结构可以分为:一主一从、一主多从、双主多从。

 

4、master和slave的作用:

实现读写分离。

从库可以用作故障转移。(master挂了,vip切换到slave端)

用从库做备份,或者特殊统计。(一条大sql跑一下需要很久,可以单独找个slave单独来跑)

用于主库升级.(M端5.5,S端5.6,S端转换成M,将原M端升级成5.6然后挂载到5.6的M端)

 

5、master和slave的工作原理:

如图1: