目录
一、理论解析
第一步,Master 及主服务器将对数据的操作记录到二进制日志当中(Binary log)当中。在每个事务更新数据完成之前,Master 在日志里记录这些改变,MySql 将日志串行的写入二进制当中,在事件写入日志完成之后,Master 通知存储引擎提交事务,提交好事务后就会计入第二步。
对数据的操作,称为一次二进制的日志事件(Binary log event)。
第二步,Slave 将 Master 的 Binary log event 拷贝到它的中继日志(Relay log)当中。首先,Slave 会开始一个工作线程(I/O线程),I/O 线程在 Master 上打开一个普通连接,将 Binary log 拷贝到 I/O thread,也就是从 Master 的Binary log 读取日志事件。如果跟上 Master 的话,I/O thread 就会睡眠,并等待 Master 的新事件,I/O 线程将这些事件写入到 Relay log(中继日志)里面。第二步就完成了。
第三步,Slave 重做中继日志事件。SQL 线程从中继日志读取事件,并存放其中的事件,更新Slave的数据,使其与Master的数据一致。
二、教学视频
链接: https://pan.baidu.com/s/1ZpbKA6piqx0B8TcFrLT99g 提取码: ptc8