【数据库MySQL】主从复制原理

妖精的绣舞 提交于 2021-01-25 10:04:57

主从复制基本原理

1、MySQL将数据变化记录到二进制日志中;

2、Slave 将MySQL的二进制日志写到 Slave 的中继日志中;

3、Slave 读取中继日志,将更新的内容解析成具体操作,反应到自身(Slave)的数据库。

 

主从复制原理图如下:

 

主从复制详细过程:

1、Slave 端的 I/O 线程连接上 Master,向 Master 请求指定日志文件的指定位置(或者从最开始的日志)之后的日志内容

2、Master 接收到来自 Slave 的 I/O线程的请求后,负责复制的 I/O 线程根据 Slave 的请求信息,读取相应日志内容,返回给 Slave 的 I/O 线程,并将本次请求读取的 bin-log 文件名及位置一起返回给 Slave 端

3、Slave 端的 I/O 线程接收到信息后,将接收到的日志内容依次添加到 Slave 端的 relay-log(中继日志) 文件的最末端,并将读取到的 Master 端的 bin-log 的文件名和位置记录到 master-info 文件中,以便之后清楚告诉 Master 端要将 bin-log文件 发送起始位置是从哪里开始

4、Slave 端的 SQL线程检测到 relay-log (中继日志)中新增加了内容后,会马上解析 relay-log 的内容成为在 Master 端真实执行时候的那些可执行的内容,并在本地执行。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!