深入了解MySQL主从复制的原理

0. 主从复制

首先主从复制是什么?简单来说是让一台MySQL服务器去复制另一台MySQL的数据,使两个服务器的数据保持一致。

这种方式与Redis的主从复制的思路没有太大的出入。如果你对Redis的主从复制感兴趣可以去看看《Redis的主从复制》。那既然Redis和MySQL都采用了复制这种方式,主从复制所带来的意义是什么呢?

通过复制功能,构建一个或者多个从库,可以提高数据库的高可用性可扩展性,同时实现负载均衡。当主库发生故障时,可以快速的切到其某一个从库,并将该从库提升为主库,因为数据都一样,所以不会影响系统的运行;当MySQL服务器需要扛住更多的读请求时,可以把读请求的流量分流到各个从库上去,写请求则转发给主库,形成读写分离的架构,来提供更好的读扩展和请求的负载均衡。

读写分离的架构应用的其实非常广泛,就比如MySQL,还有Redis,以及我们熟悉的Zookeeper,Zookeeper的Follower收到读请求不会自己处理,而是会将读请求转发给Leader,感兴趣的可以自己下来了解一下,这里就不偏题了。

继续阅读深入了解MySQL主从复制的原理