首页 > 其他分享 >(十三)主从同步

(十三)主从同步

时间:2022-08-24 17:22:27浏览次数:49  
标签:主库 Binlog 同步 十三 日志 从库 主从

主从同步的优点:

  • 读写分离提高数据库并发处理能力
  • 数据备份
  • 高可用性。也就是当服务器出现故障或宕机的情况下,可以切换到从服务器上,保证服务的正常运行。

Binlog&Undolog

二进制日志(Binlog):存储的是一个又一个事件(Event),这些事件分别对应着数据库的更新操作,比如INSERT、UPDATE、DELETE

undo_logo: Undo Log保存了历史快照

1. 主从同步原理:

主从同步的原理就是基于Binlog进行数据同步的。在主从复制过程中,会基于3个线程来操作,一个主库线程,两个从库线程。

  • 数据库进行更新的事件写入Binlog日志
  • 主库转储并发送Binlog。当从库线程连接的时候,主库可以将二进制日志发送给从库,当读取Binlog的时候,会在Binlog上加锁,读取完成之后,再将锁释放掉。
  • 从库IO线程,连接到主库,向主库发送请求更新Binlog或接受Binlog,拷贝到本地形成中继日志(Relay log)
  • 从库SQL线程会读取从库中的中继日志,并且执行日志中的事件,从而将从库中的数据与主库保持同步。

2. 主从一致性

主库同步之间的网络延迟,可能会造成主从数据不一致的情况。(同步过程中会对Binlog加锁,不会造成数据不一致的情况)

异步复制

是客户端提交COMMIT之后不需要等从库返回任何结果,而是直接将结果返回给客户端。

好处:不会影响主库写的效率

坏处:但可能会存在主库宕机,而Binlog还没有同步到从库的情况,也就是此时的主库和从库数据不一致。

半同步复制

客户端提交COMMIT之后不直接将结果返回给客户端,而是等待至少有一个从库接收到了Binlog,并且写入到中继日志中,再返回给客户端。

好处就是提高了数据的一致性

坏处:相比于异步复制来说,至少多增加了一个网络连接的延迟,降低了主库写的效率。

在MySQL5.7版本中还增加了一个rpl_semi_sync_master_wait_for_slave_count参数,我们可以对应答的从库数量进行设置,默认为1,也就是说只要有1个从库进行了响应,就可以返回给客户端。如果将这个参数调大,可以提升数据一致性的强度,但也会增加主库等待从库响应的时间。

组复制:

组复制技术,简称MGR(MySQL Group Replication)

标签:主库,Binlog,同步,十三,日志,从库,主从
From: https://www.cnblogs.com/greengages/p/16620929.html

相关文章

  • 基于Docker做MySQL主从搭建与Django的读写分离
    基于Docker做MySQL主从搭建主从的作用:写数据数据时使用主库,从库只用来读数据,这样做能够减少数据库压力,主从搭建可以一主一从,也可以是一主多从。mysql主从配置的流程如图......
  • Docker安装Open LDAP并启用syncrepl镜像同步
    简单介绍如何快速通过docker启动openldap服务,并通过syncrepl机制实现目录数据的镜像复制。本文只涉及关键步骤,相关技术的入门请移步入门教程。所有本文的配置和脚本只针对b......
  • 第十三章 StringTable
    翻篇是很重要的能力,从悲伤中大方走出来,就是艺术家1.String的基本特性String字符串定义的两种方式Strings1=“baidu”;//字面量的定义方式Strings2=newStr......
  • 【云原生】rsync+inotify数据实时同步介绍与k8s实战应用
    目录一、rsync概述二、rsync优缺点1)优点2)缺点三、rsync+inotify配置与安装1)rsync安装2)rsync配置3)启动rsync服务4)测试验证5)编译安装inotify-tools1、inotify-tools概述2、......
  • 添加评论(十三)
    一、数据层增加评论数据。修改帖子的评论数量。由Mybatisplus实现。二、业务层处理添加评论的业务:先增加评论、再更新帖子的评论数量。DiscussPostService接口......
  • Chapter8. 单bit信号跨时钟域同步CDC
    Chapter8.单bit信号跨时钟域同步CDC本章导图单bit信号慢到快传输对于电平信号快到慢由于电平信号高电平时间足够长,因此直接打两拍避免亚稳态是可以的。对于边沿信号......
  • 同步、异步、阻塞和非阻塞
    最开始看到这四个名词的时候,感觉很困惑,这不都一样吗?后来就查了查。最近又想起来这几个概念,发现记忆有些模糊,故写此博客。1.同步调用者调用被调用者,当调用者没有获取到......
  • SQLSerServer简单触发器同步Bak表
    USE[ITL]GO/******Object:Trigger[dbo].[TR_LMS_Interface_Order_INSERT]ScriptDate:2022/8/2317:16:48******/SETANSI_NULLSONGOSETQUOTED_IDENTIF......
  • hadoop集群搭建之测试集群,配置历史服务器,日志聚集,时间同步
    hadoop集群搭建之测试集群,配置历史服务器,日志聚集,时间同步前期概要:我们完全分布式集群已经搭建完毕,并且还写了群启/群关的脚本,接下来有必要来测试一遍集群,我们可以使用官......
  • 服务器时间同步架构与实现chrony
    实验背景模拟企业局域服务器时间同步,保障各服务器系统准确性和时间一致性。时间服务器系统搭建实验架构图环境设备设备IP规划国内互联网NTP服务器ntp.aliyun.co......