MySQL主从同步原理
MySQL主从复制的核心就是二进制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。如下图,有一个master和一个slave,当主master的数据发生改变后会写入一个binlog日志文件中,slave会有一个IOthread线程读取主master的binlog日志文件,写入到一个relay log文件中,随后slave会有另一个线程SQLthread区读取Relay log日志文件中的命名都执行一遍。这样从和主的数据都同步好了

复制分成三步:
- Master主库在事务提交时,会把数据变更记录在二进制日志文件binlog文件中。
- 从库读取主库的binlog日志文件,写入到从库的中继日志文件中。
- 再由从库的中继日志文件把数据同步到从库的数据库中。