主节点binary log dump线程
当从节点连接主节点时,主节点会创建一个 log dump 线程,用于发送 binlog 的内容。在读取 binlog 中的操作时,此线程会对主节点上的 binlog 加锁,当读取完成,在发送给从节点之前,锁会被释放。
从节点 I/O 线程
当从节点上执行start slave命令之后,从节点会创建一个 I/O 线程用来连接主节点,请求主库中更新的 binlog。I/O 线程接收到主节点 binlog dump 进程发来的更新之后,保存在本地 relay-log(中继日志)中。
从节点 SQL 线程
SQL 线程负责读取 relay log 中的内容,解析成具体的操作并执行,最终保证主从数据的一致性。
主从复制模式
MySQL 主从复制默认是异步的模式。MySQL 增删改操作会全部记录在 binlog 中,当 slave 节点连接 master 时,会主动从 master 处获取最新的 bin log 文件。并把 bin log 中的 sql relay。
异步模式(mysql async-mode)
这种模式下,主节点不会主动push bin log到从节点,这样有可能导致failover的情况下