5.1 MySQL Replication介绍
MySQL Replication支持多种类型的复制方式,常见的有基于语句的复制、基于行的复制和混合类型的复制。下面进行分别介绍。
(1) 基于语句的复制
MySQL默认采用基于语句的复制,效率很高。基本方式是:在Master服务器上执行的SQL语句,在Slave服务器上再次执行同样的语句。而一旦发现没法精确复制时,会自动选择基于行的复制。
(2) 基于行的复制
基本方式为:把Master服务器上改变的内容复制过去,而不是把SQL语句在从服务器上执行一遍, 从mysql5.0开始支持基于行的复制。
(3) 混合类型的复制
其实就是上面两种类型的组合,默认采用基于语句的复制,如果发现基于语句的复制无法精确的完成,就会采用基于行的复制。
- 复制原理
从一个master到多个slave的异步过程,主要是三个线程来实现,其中一个io线程在master端,另外两个sql线程和io线程在slave端
slave从master获取binary log,并在自身将二进制文件解析为sql语句完全顺序执行sql语句所记录的各种操作。 - MySQL Replication常用架构
架构 | 描述 |
---|---|
一主一从 | 一个Master服务器和一个Slave服务器 |
一主多从 | 一个Master服务器和两个或两个以上Slave服务器。经常用在写操作不频繁、查询量比较大的业务环境中。 |
主主互备 | 即两个MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制。主要用于对MySQL写操作要求比较高的环境中,避免了MySQL单点故障 |
双主多从 | 实就是双主互备,然后再加上多个Slave服务器。主要用于对MySQL写操作要求比较高,同时查询量比较大的环境中。 |
同一时刻只能有一个Master服务器进行写操作。
一个Master服务器可以有多个Slave服务器。
无论是Master服务器还是Slave服务器,都要确保各自的Server ID唯一,不然双主互备就会出问题。
一个Slave服务器可以将其从Master服务器获得的更新信息传递给其他的Slave服务器。依此类推
假设db1为192.168.88.11 db2为192.168.88.12
1、修改MySQL配置文件
在默认情况下MySQL的配置文件是