主从复制中主要的几个点
binlog mysql执行后的二进制日志 这里binlog二进制日志分为row级别(行)、状态级别
relaylog 中继日志 (简单点说就是中转站日志,一边读取主库的binlog入relaylog后,在从relaylog中去重放数据,避免了在io线程读取binlog的时候出现宕机的问题)
sql线程(从库中执行sql的线程)
dumpIo线程(读取主库binlog的线程)
整体流程:主库记录binlog--->>从库同步binlog到relaylog--->>sql线程重新执行relaylog的sql语句,但是主从复制有一个延时问题,在5.7版本之后mysql实现了MTS(Multi-Threaded Slave)大大的加大了同步的效率,MTS是基础组提交来实现的,由原来从库的单sql线程变成多线程来执行sql,而原来的sql线程也变成了协调线程,对应多个worker线程来执行