参考文章:
https://laijianfeng.org/2019/03/MySQL-Binlog-%E4%BB%8B%E7%BB%8D/
https://blog.csdn.net/ajaxuser/article/details/8452840
一、复制解决的问题
1.数据分布
MySQL的复制通常不会对带宽造成很大压力,并且可以随意启动和停止。
因此对于在不同地方维护数据拷贝很有作用。
2.负载均衡
MySQL复制可以把读取分布在不同的服务器上,这对读取密集型的应用效果很好。
3.备份
复制对备份很有帮助,但是从服务器既不是备份,也不是备份的替代品。
4.高可用性和故障转移
可以采用双主的结构避免单点故障而影响存储。
可以采用多从的负载均衡避免读取故障。
5.测试MySQL升级
一个常见的实践就是把所有的服务器升级到新版本之前,使用从服务器安装MySQL升级版本,
然后用它来测试查询。确保查询按照想要的方式来工作。
二、复制如何工作
1.Master把数据更改记录到二进制日志中。这叫做二进制日志事件(Binary Log Events)。
2.Slave把Master的二进制日志事件拷贝到自己的中继日志(Relay Log)中。
3.Slave重放中继日志中的事件,把更改应用到自己的数据上。
原文:https://www.cnblogs.com/blogfortang/p/mysql_binlog.html