复制线程概述:
MySQL完成主从复制,需要三个线程的参与:一个在(Master)主节点上,另外两个在(Slave)从节点上
1、(Master)Binlog Dump线程:
当有从节点连接到主节点时,主节点就创建一个线程将该主节点的bin-log内容发送到主动连接的从节点上。创建的这个线程可以使用下面的命令在主节点的标准输出上以“Binlog Dump”名字显示。
SHOW PROCESSLIST
为了读取主节点上即将被发送到从节点的每一个事件(Event),binlog Dump线程会对该binlog添加一个锁,直到这个事件被读取到甚至发送到从节点上,这个锁才会被释放。
2、(Slave)I/O线程:
当一个"START SLAVE"语句在从节点上发出时,从节点创建一个I/O线程;用来连接到配置好的主节点上并请求其发送binlog中的更新记录。这个I/O线程读取从binlog Dump线程发送过来的更新信息,将其复制到本地文件内(Relay log)。在"SHOW SLAVE STATUS"语句的输出内容中,显示为:Slave_IO_running;在"SHOW STATUS"语句的输出中显示为:Slave_running
3、(Slave)SQL线程:
从节点创建一个Slave SQL线程去读取由Slave I/O创建的relay log中的内容,将读取到的事件在从节点上进行重现。