①方便做数据的热备份 作为后备数据库,主数据库服务器故障后,可切换到从数据库服务器继续工作,避免数据丢失。
②架构的扩展更容易 业务量越来越大,I/O 访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O 访问的频率,提高单个机器的I/O性能。
③读写分离 使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表SQL语句非常的慢,导致锁表,影响前台服务。如果前台使用主库,报表使用从库,那么报表SQL将不会造成前台锁,保证了前台速度。
1.一从一主 一主一从是最常见的主从架构,实施起来简单并且有效,不仅可以实现HA,而且还能读写分离,进而提升集群的并发能力。
2.一主多从 提高系统的读性能。
3.多主一从 多主一从可以将多个MySOL数据库备份到一台存储性能比较好的服务器上。
4.双主复制 双主复制,也就是互做主从复制,每个Master既是Master,又是另外一台服务器的slave。这样任何一方所做的变更,都会通过复制应用到另外一方的数据库中。
5.级联复制 级联复制模式下,部分slave的数据同步不连接主节点,而是连接从节点。因为如果主节点有太多的从节点,就会损耗一部分性能用于replication,那么可以让3~5个从节点连接主节点,其它从节点作为二级或者三级与从节点连接,这样不仅可以缓解主节点的压力,并且对数据一致性没有负面影响。
Replication的思想是将数据在集群的多个节点同步、备份,以提高集群数据的可用性(HA);Mysql使用Replication架构来实现上述目的,同时可以提升了集群整体的并发能力。5.6版本作为一个里程碑,对replication做了不少的优化调整,提高了集群数据的一致性、同步的性能以及数据自动恢复(recovery)的能力。(本文内容基于MySQL 5.6+,不过在5.7+版本仍有部分调整) Replication架构通常由一个master和一个或者多个slaves构成,master接收应用的writes操作(事务中的read、write操作均有master处理),slaves接收read操作。在master上发生的数据变更,都将会复制给slaves,从直观而言,replication架构解决了:1)数据多点备份,提高数据可用性。 2)读写分流,提高集群的并发能力。(并非是负载均衡)3)让一些非实时的数据操作,转移到slaves上进行