1、主从同步原理
1.1、mysql主从同步(复制)概念
- 将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一遍来实现的。
- 复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。
- 主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。
- 当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。
- 从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。
** 注意:是二进制日志文件,用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据)**
1.2、Mysql支持哪些复制
- 基于语句的复制: 在主服务器执行SQL语句,在从服务器执行同样语句。
注:MySQL默认采用基于语句的复制,效率较高。一旦发现没法精确复制时, 会自动选基于行的复制。 - 基于行的复制: 把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 从mysql5.0开始支持
- 混合类型的复制: 默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。
1.3、Mysql主从复制原理
-
master服务器将数据的改变都记录到二进制binlog日志中,只要master上的数据发生改变,则将其改变写入二进制日志;
-
salve服务器会在一定时间间隔内对master二