主从复制原理

1.主从复制是什么?

主从复制是数据库实现高可用,读写分离,备份的核心功能。其核心原理是:主库日志的事件同步到从库中,并重新执行操作,最终从库与主库一致。

2.主从复制原理

2.1主库执行写(增删改)操作之后,会将操作记录写入二进制日志(binlog)中,binlog会存放所有变更数据的详细记录。
2.2从库启动I/O线程,连接主库并请求读取binlog。主库启动dump线程,将binlog中新的事件(从指定位置)传送给从库的I/O线程。
从库的I/O线程将接收到的binlog数据写入本地的中继日志中(Relay log)
2.3从库中的SQL线程读取中继日志中的事件,按顺序重新执行这些操作,最终使得从库与主库一致。

3使用场景

3.1 读写分离
主库负责写操作,从库负责读操作,减轻主库压力,提高并发能力。
3.2数据备份
从库可备份主库,防止主库故障时导致数据丢失。
3.3高可用
主库故障,可切换从库为主库,减少服务中断世间。

4.优点

4.1 提高读写性能:读写分离,减轻主库压力。
4.2 增强数据安全性: 从库备份主库,避免主库故障导致数据丢失。
4.3扩展性好:可增加从库数量提升读能力。

5.缺点

5.1存在数据延迟问题:从库同步主库可能会存在时间差问题,导致读写不一致。
5.2主库单点风险:主库出现故障时,需配合主从切换工具解决。
5.3配置困难:需严格同步主从binlog位置,避免数据不一致。

你可能感兴趣的:(主从复制原理)