青蛙学Linux—MySQL主从复制
Posted 青蛙学Linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了青蛙学Linux—MySQL主从复制相关的知识,希望对你有一定的参考价值。
mysql主从复制基于MySQL官方提供的MySQL Replication技术,实现了数据从一个主服务器向一个或多个从服务器的同步。主从复制不仅是一种备份方式,更为MySQL高可用提供了数据同步的基础。
1、MySQL Replication原理
在MySQL Replication中,主服务器称为Master,从服务器称为Slave。Slave会从Master上拉取MySQL的二进制日志文件(Binary Log),然后将该日志解析为SQL语句并完全顺序的执行这些SQL语句以达到与Master上执行同样的SQL的效果,保证数据的一致性。
整个过程具体如下:
- Slave上起一个IO线程,连接Master,然后请求从指定位置开始的Binary Log内容
- Master在接收请求之后读取指定位置开始的Binary Log内容并通过自身的IO线程返回给Slave的IO线程,返回的信息不仅包括Binary Log日志中的内容,还包括Binary Log日志的名称和这些信息在Binary Log中的位置
- Slave在接收到信息后,将获取到的Binary Log内容写入Relay Log中(名为mysql-relay-bin.xxx的文件),并将Binary Log的文件名和这些信息在Binary Log中的位置记录到名为master-info的文件中
- Slave的SQL线程在监测到Relay Log的更新后会马上解析Relay Log并生成SQL语句,然后执行这些SQL语句。至此,整个主从复制过程结束
虽然MySQL的主从复制是异步的,但其性能非常高效,延时非常小。
注意:Slave会从Master上拉取Binary Log,所以在Master上必须开启MySQL的Binary Log功能。
以上是关于青蛙学Linux—MySQL主从复制的主要内容,如果未能解决你的问题,请参考以下文章