时间:2021-07-01 10:21:17 帮助过:10人阅读
2、此时,Slave服务器的IO线程会通过在Master上授权的复制用户权限请求连接Master服务器,并请求从指定Binlog 日志文件的指定位置(日志文件名和位置就是在配置主从复制服务时执行 change master 命令时指定的)之后发送 Binlog 日志内容。
3、Master 服务器接收到来自 Slave 服务器的 IO 线程的请求后,Master 服务器上负责复制的IO线程根据 Slave服务器的IO 线程请求的信息读取指定Binlog日志文件指定位置之后的Binlog日志信息,然后返回给Slave端的IO线程。返回的信息中除了 Binlog 日志内容外,还有本次返回日志内容后在 Master 服务器端的新的 Binlog 文件名称以及在 Binlog中的下一个指定更新位置。
4、当 Slave 服务器的IO 线程获取到来自 Master 服务器上 10 线程发送日志内容及日志文件及位置点后,将Binlog日志内容依次写入到 Slave 端自身的 Relay Log(即中继日志)文件(MySQL-relay-bin.xxxxxx)的最末端,并将新的 Binlog 文件名和位置记录到master-info文件中,以便下一次读取Master端新Binlog日志时能够告诉 Master服务器需要从新 Binlog日志的哪个文件哪个位置开始请求新的Binlog 日志内容。。
5、Slave 服务器端的SQL线程会实时的检测本地RelayLog中新增加的日志内容,然后及时的把Log文件中的内容解析成在 Master 端曾经执行的 SQL 语句的内容,并在自身 Slave服务器上按语句的顺序执行应用这些SQL语句,应用完毕后清理应用过的日志。
6、经过了上面的过程,就可以确保在 Master 端和 Slave 端执行了同样的 SQL 语句。当复制状态正常的情况下,Master端和Slave端的数据是完全一样的,MySQL 的同步机制是有一些特殊的情况的,具体请参考官方的说明。
主服务器:192.168.1.70;备服务器:192.168.1.71
mysql主从复制
标签:说明 中继 文件中 复制 两台 自身 一个 ima 开启