MySQL主从复制
首先说明一下,binlog记录的方式主要是两种(排除Mixed)
statement--SBR 基于操作的SQL语句
优点:并不需要记录每一条SQL语句和每一行数据的变化,减少了binlog日志量,,节约了I/O,提高了性能。
缺点:在某些情况下导致主备数据不一致。
row---RBR 基于行的变更情况(变化前后的数据记录)
优点:不记录每条SQL语句的上下文信息,只记录数据的详细修改细节,最为安全。
缺点:会产生大量日志,消耗磁盘空间。
MySQL的主从复制过程,可以参考下面的文章,此处省略。
主从延迟
t1时刻,主库执行完事务,并写入binlog
t2时刻,从库接收主库的binlog(IO线程),并写入中继日志
t3时刻,从库的SQL线程执行SQL语句,完成事务
主从延迟,就是从库执行完成到主库执行完成中间的时间差大于(t3-t1)
本文介绍了MySQL主从复制的两种binlog记录方式:SBR(基于SQL语句)和RBR(基于行变更)。主从复制过程中,从库在接收到主库binlog并执行SQL后可能会出现延迟。延迟可能由硬件差异、读压力、大事务、网络延迟和从库数量过多等因素引起。解决方案包括提升硬件性能、采用一主多从架构、事务分批处理、优化网络和控制从库数量。
1万+

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



