MySQL的复制原理
MySQL复制功能使用三个线程实现,一个在master上,两个在slave上:
- Binlog dump thread
- master创建此线程,以便在slave连接时将二进制日志内容发送到slave.master上的SHOW PROCESSLIST的输出中将此线程标识为Binlog Dump线程。
- 此线程获取master二进制日志上的一个锁,以便读取发送到slave的每个事件。一旦读取了事件,即使在事件发送到slave之前,锁也会被释放。**
- Slave I/O thread
- 在slave上发出START SLAVE语句时,slave会创建一个I/O线程,该线程连接到master并要求它发送二进制日志中记录的更新。
- 此线程读取master的Binlog Dump thread发送的更新(请参阅上一项)并将它们复制到包含slave的中继日志的本地文件中。
- 该线程的状态在SHOW SLAVE STATUS的输出中显示为Slave_IO_running,或者在SHOW STATUS的输出中显示为Slave_running
- Slave SQL thread.
- slave创建一个SQL线程来读取由Slave I/O thread写入的中继日志,并执行其中包含的事件。
转载地址:https://blog.51cto.com/itzhoujun/2352587
博客作者shixiazhoujun的原创作品
相关推荐
liufangbaishi0 2020-07-18
yunfeitian 2020-07-05
jvm 2020-07-04
msmysql 2020-06-06
nbfcome 2020-05-25
郭朝 2020-05-15
郭朝 2020-04-20
voiletbin 2020-04-17
zhouxihua0 2020-04-15
mieleizhi0 2020-03-28
程序媛一枚 2020-03-23
渴望就奋力追寻 2020-03-07
zhouxihua0 2020-03-03
ZMichael 2020-01-18
ChenRuiyz 2020-01-11
一个程序员的日常 2020-01-09
jszy 2020-01-01
mbcsdn 2019-12-30
ddxygq 2019-12-30