1 MySQL主从复制的原理
MySQL 主从复制的基本原理第三部分
基于语句的复制(SBR)和基于行的复制(RBR)区别:
主从复制的基本原理是主服务器将更新操作的日志记录(binlog)传送到从服务器,从服务器根据主服务器的日志来进行相同的操作,保持数据一致性。
SBR(Statement-based Replication)基于语句的复制:主服务器将每次的SQL操作以文本的形式发送给从服务器,从服务器根据这些SQL语句来执行相同的操作。这种方式简单高效,适用于绝大多数情况。
RBR(Row-based Replication)基于行的复制:主服务器每次操作都会将具体的数据变化发送给从服务器,而不是SQL语句。这种方式更加精确,能够避免一些潜在的问题,比如由于隐含的转换、存储过程等导致的不一致。但是会带来更大的网络负载和存储开销。
举例说明:
假设有一张表t_user,现在在主服务器上执行一条更新语句UPDATE t_user SET name=‘Alice’ WHERE id=1;
在SBR中,主服务器会将这条更新语句发送给从服务器,从服务器收到更新语句后执行相同的更新操作。
在RBR中,主服务器会将具体的数据变化(id=1的name字段从原值修改为Alice)发送给从服务器,从服务器接收到这个数据变化后执行相同的更新操作。
2 为什么要做MySQL主从复制
1)数据分布
可以做异地容灾,然后也可以提高用户体验。(假如北京和上海机房都有服务器,mysql安装在北京,为了提高效率,我们会在上海布置一台从服务器,然后让上海机房的服务器访问上海的从库)
2)负载均衡
可以布置多台从服务器,提高读效率
3)备份
我们可以专门在一台从服务器上实施备份
4)高可用性和故障切换
5)升级和测试
我们可以先找一台从数据库来升级服务(MySQL),不会影响主库

本文详细介绍了MySQL主从复制的基本原理,包括基于语句的复制(SBR)和基于行的复制(RBR)的区别,并解释了进行主从复制的目的,如数据分布、负载均衡、备份、高可用性及故障切换等。

被折叠的 条评论
为什么被折叠?



