Mysql的主从复制组要是由这三个线程组成,,其中master是binlog dump thread进程、slave的进程主要是I/O thread 和SQL thread。
Master主节点:
binlog dump线程:当主库中产生数据更新时,会将此次更新的记录写入到binlog文件中,并通知slave节点,slave节点的I/O线程请求日志,将此时的binlog和更新的位置传给slave。
Slave备节点:
I/O线程:该线程连接到master主节点,向log dump线程请求更新的binlog记录,并将binlog存到本地的relay log中继日志。
SQL线程:该线程检测到本地relay log有更新后,会读取并在本地做redo,将relay log中记录的操作,在本地执行一遍,以此来保证主从数据同步。如果relay log文件中的记录执行完毕,SQL线程会自动将该relay log 文件清理掉。
Mysql主从复制架构图: