复制介绍
MySQL复制在业界里有叫:MySQL同步,AB复制等,专业的名称就是叫:复制;
复制是单向的,只能从Master复制到slave上;
Slave上对于Master包含的数据不能进行写操作;
一组复制结构中可以有多个slave,对于Master一般场景推荐只有一个;
Master用户写入数据,生成event记到binary log中;
Slave接收Master传来的binlog,然后按顺序应用,重现Master上的用户操作。
MySQL replication=异步复制
异步复制和半同步复制比较
PXC
Master 和slave 没什么区别(pxc是同步复制);
GTID
Global transaction identifiers(Gtid 全局的事务标志);
一个事务对应一个ID 一个GTID在一个服务器上只会执行一次 一个事务在从库上只能出现一次;
Crash recover还没支持的太好;
GTID是用来替代以前传统的复制方法;
MySQL5.6.2支持MYSQL5.6.10后完善。
GTID优点
相对于行复制数据安全性更高
故障切换更简单
复制的使用价值
利用从库做读能力的提升;
利用从库做Master故障的接管;
利用从库做备份减少对业务的影响;
利用复制升级;
利用slave进行特殊SQL统计;
互联网的MySQL cluster:基本都是复制结构;
现在有用percona-xtradb-cluster (cluster)(传统企业用的很多的)。