一、主从同步的原因
为了减轻服务器处理海量并发访问所产生的性能问题,其中最主流的方案之一就是读写分离。
二、MySQL主从同步流程图
三、主从库如何同步
1、 Master主服务器将对数据的操作记录到二进制日志中(Binary log),MySQL将事务串行(交叉执行)的写入二进制日志;
2、Slave从服务器将二进制日志(Binary log)copy到中继日志当中(Relay log)。首先,slave开始一个工作线程——I/O线程。
slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接;
开始binlog dump process;
如果binlog dump process已经跟上master,它会睡眠并等待master产生新的事件。
I/O线程将这些事件写入中继日志;
SQL slave thread(SQL从线程)从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数据一致
四、为什么需要中继日志(Relay log)
由于网络等原因,Binary log不可能一口气存到 I/O thread中,所以Relay log中用来缓存Binary log的事件。(Relay log存储在从服务器slave缓存中,开销比较小)
五、需要注意的点
master和slave连接,sla