mysql主从复制的概述:
mysql内建的复制功能是构建大型,高性能应用程序的基础。将mysql的数据分布多个系统上,这种复制机制是通过将mysql的一台主机(master)的数据复制到其他主机(slaves)上,并重新执行一遍来实现。
mysql支持单行、异步复制。复制时对表的更新须在主服务器上进行,避免发生更新冲突
主从复制的好处:
1:数据分布,稳定性提升,主服务器出现故障,还可以用从服务器支撑。
2:读写分离,可以实现负载均衡,提升数据处理效率。
3:高可用性和容错性。
4:便于实现数据库的冗灾、备份、恢复等操作。
5:测试mysql升级。
复制功能:
1:支持一株多从机制。数据通过主服务器复制到从服务器上。
2:支持多级结构。主从,从从,主主(互为主从)。
3:支持过滤功能(可以只复制主服务器上的部分数据,而非全部)。
mysql主从复制类型:
mysql复制类型:
1、基于语句的复制:在主服务器上执行的SQL语句,在从服务器上执行同样的SQL语句。mysql默认采用基于语句的复制,效率比较高。
2、基于行的复制:把改变的内容复制过去,而不是把命令在从服务器上执行一遍(mysql5.0开始支持)。
3、混合类型的复制:默认采用基于语句的复制。发现基于语句无法精确复制时,就会采用基于行的复制
相应的二进制日志:
1、STATEMENT
2、ROW
3、MIXED
注主从服务器架构要求:
1、主从服务器的表可以使用不同的表类型,另外:一台主服务器同时带多台从服务器,
会影响其性能,可以拿出一台服务器作为从发服务器代理,使用BLOCKHOLE表类型,只记录日志,不写数据,由它带多台服务器,从而提升性能。
2、主从服务器中的表可以使用不同的字段类型。
3、主从服务器中的表可以使用不同的索引。主服务器主要用来写操作,所以除了逐渐和唯一索引等保证数据关系的索引一般都可以不加;从服务器一般用来读操作,所以可以针对查询特征设置索引,甚至:不同的从服务器可以针对不同的查询设置不同的索引