Java面试八股之MySQL主从复制机制简述

  1. MySQL主从复制机制简述

MySQL的主从复制机制是一种数据复制方案,用于在多个服务器之间同步数据。此机制允许从一个服务器(主服务器)到一个或多个其他服务器(从服务器)进行数据的复制,从而增强数据冗余、提高读取性能,并且为灾难恢复提供保障。以下是MySQL主从复制机制的简要概述:

复制过程

二进制日志(Binary Logging):

主服务器上的所有更改(如INSERT、UPDATE、DELETE等)都被记录在二进制日志(binlog)中。

这些更改是以事件的形式记录的,事件中包含了SQL语句或行级别的数据更改描述。

从服务器连接:

从服务器连接到主服务器,请求复制二进制日志中的更改。

从服务器通过I/O线程向主服务器请求二进制日志文件和位置。

日志传输:

主服务器通过一个线程(log dump thread)将二进制日志文件的内容发送给从服务器。

中继日志(Relay Logging):

从服务器接收到的二进制日志事件被存储在本地的中继日志(relay log)中。

中继日志用于缓冲从主服务器接收到的事件,直到它们被应用。

事件应用:

从服务器上的SQL线程从本地的中继日志中读取事件,并在从服务器上执行相应的SQL语句。

这个过程确保了从服务器上的数据与主服务器保持一致。

复制类型

基于语句的复制(SBR):

MySQL记录执行的SQL语句,而不是具体的数据变化。

这种模式通常会产生更小的二进制日志,但在某些情况下可能会遇到数据不一致的问题。

基于行的复制(RBR):

MySQL记录每个事务中每行数据的前后状态。

这种模式更精确,但可能会产生更大的二进制日志。

混合模式复制(MBR):

结合了SBR和RBR的优点,通常使用SBR,但在检测到可能引起不一致性的语句时,会自动切换到RBR。

注意事项

版本兼容性:

主服务器和从服务器应运行相同或兼容的MySQL版本,以避免潜在的兼容性问题。

时间同步:

主服务器和从服务器之间的时间必须同步,以防止时间戳相关的错误。

资源消耗:

复制会消耗网络带宽和磁盘空间,因此需要适当规划和监控。

延迟:

从服务器的数据可能滞后于主服务器,特别是在网络延迟较高或从服务器负载较高的情况下。

通过合理配置和监控,MySQL的主从复制机制可以显著提升系统的可靠性和性能。

如果大家需要视频版本的讲解,欢迎关注我的B站:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/785219.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 请求走私漏洞详解

超详细的HTTP请求走私漏洞教程,看完还不会你来找我。 1. 简介 HTTP请求走私漏洞(HTTP Request Smuggling)发生在前端服务器(也称代理服务器,一般会进行身份验证或访问控制)和后端服务器在解析HTTP请求时&…

YASKAWA安川Σ-V系列伺服驱动器AC设计维护手侧

YASKAWA安川Σ-V系列伺服驱动器AC设计维护手侧

C#——序列化和反序列化概念

(1)序列化 在编程中,序列化是指将对象转换为可存储或传输的格式,例如将对象转换为 JSON 字符串或字节流。 (2)反序列化 在编程中,反序列化则是将存储或传输的数据转换回对象的过程。 序列化和反序列化经常用于数据的持久化、数据交换以及…

JAVA基础-----包装类,自动装箱、拆箱

一、包装类: Java中的数据类型总体上分为基本数据类型和引用数据类型。引用类型的数据可以通过对象的属性和方法来进行操作,但对于基本数据类型的数据,我们能不能像操作对象那样来操作呢?为了实现这个目标,Java为8种基…

WebOffice在线编微软Offfice,并以二进制流的形式打开Word文档

在日常办公场景中,我们经常会遇到这种场景:我们的合同管理系统的各种Word,excel,ppt数据都是以二进制数组的形式存储在数据库中,如何从数据库中读取二进制数据,以二进制数据作为参数,然后加载到浏览器的Office窗口&…

华为HCIP Datacom H12-821 卷30

1.单选题 以下关于OSPF协议报文说法错误的是? A、OSPF报文采用UDP报文封装并且端口号是89 B、OSPF所有报文的头部格式相同 C、OSPF协议使用五种报文完成路由信息的传递 D、OSPF所有报文头部都携带了Router-ID字段 正确答案:A 解析: OSPF用IP报…

每日一练全新考试模式解锁|考试升级

🙋频繁有小伙伴咨询:我想举办一场历时一个月的答题活动,学生可以每天打开答题,活动完结后可以导出每天的答题成绩 此前我们都会让小伙伴创建30场考试,然后使用批量分享功能组合起来,对外分享一个链接就可以…

强化学习编程实战-2马尔可夫决策过程

2.1 从多臂赌博机到马尔可夫决策过程 如图2-1,图中A为多臂赌博机,B为一堆鸳鸯,其中左上角为雄性鸳鸯,右上角为雌性鸳鸯,B展示的任务是雄性鸳鸯绕过障碍物找到词性鸳鸯。跟多臂赌博机不同的是,雄性鸳鸯经过一…

提升爬虫OCR识别率:解决嘈杂验证码问题

引言 在数据抓取和网络爬虫技术中,验证码是常见的防爬措施,特别是嘈杂文本验证码。处理嘈杂验证码是一个复杂的问题,因为这些验证码故意设计成难以自动识别。本文将介绍如何使用OCR技术提高爬虫识别嘈杂验证码的准确率,并结合实际…

小米订单锐减背后的挑战与应对之道

近期,富士康印度子公司Bharat FIH面临高管离职、工厂关闭的困境,其背后原因之一是小米订单的显著下滑,据报道,这一降幅高达70%。这一现象不仅反映了富士康在印度市场的艰难处境,也揭示了小米在全球智能手机市场面临的挑…

C++ | Leetcode C++题解之第22题完全二叉树的节点个数

题目&#xff1a; 题解&#xff1a; class Solution { public:int countNodes(TreeNode* root) {if (root nullptr) {return 0;}int level 0;TreeNode* node root;while (node->left ! nullptr) {level;node node->left;}int low 1 << level, high (1 <&…

部署windows-exporter

一、安装 windows-exporter源码 下载对应版本 在windows中使用二进制方式部署 安装好之后&#xff0c;打开 http://127.0.0.1:9182/metrics 二、接入prometheus 1、通过静态文件配置加入 scrape_configs:# The job name is added as a label job<job_name> to any …

AI视频创作一条龙!达摩院“寻光”平台炸场WAIC,突破可控编辑难题

卡奥斯智能交互引擎是卡奥斯基于海尔近40年工业生产经验积累和卡奥斯7年工业互联网平台建设的最佳实践&#xff0c;基于大语言模型和RAG技术&#xff0c;集合海量工业领域生态资源方优质产品和知识服务&#xff0c;旨在通过智能搜索、连续交互&#xff0c;实时生成个性化的内容…

macbook触控栏养宠物:Touchbar pet for Mac 免费下载

macbook pro自从出了touchbar后&#xff0c;看起来是十分的炫酷&#xff0c;但平时却很少有人使用&#xff0c;为了让touchbar充分利用起来&#xff0c;Touch bar pet就横空出世了&#xff0c;可爱的画风&#xff0c;简单的玩法&#xff0c;让你可以在touchbar上也可以养一只自…

【C语言】测试TCP带宽程序

多线程测带宽 服务端 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #include <sys/epoll.h> #include <time.h> #include <pthrea…

C++ 类和对象 构造 / 析构函数

一 类的6个默认成员函数&#xff1a; 如果一个类中什么成员都没有&#xff0c;简称为空类。 例&#xff1a; #include <iostream> class Empty {// 空类&#xff0c;什么成员都没有 }; 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&a…

python--实验5 字典与集合

知识点 集合 集合&#xff08;Set&#xff09;在Python中是一种基本的数据结构&#xff0c;用于存储无序且不重复的元素。以下是关于集合的详细介绍&#xff1a; 集合的定义和特点 无序性&#xff1a;集合中的元素没有特定的顺序。 不重复性&#xff1a;集合中的元素都是唯…

OpenGL3.3_C++_Windows(28)

Demo演示 demo 视差贴图 视差/高度/位移贴图&#xff08;黑--白&#xff09;&#xff1a;和法线贴图一样视差贴图能够极大提升表面细节&#xff0c;使之具有深度感。第一种思路&#xff08;置换顶点&#xff09;&#xff1a;对于一个quad &#xff0c;分成约1000个顶点&#x…

Fastapi在docekr中进行部署之后,uvicorn占用的CPU非常高

前一段接点小活&#xff0c;做点开发&#xff0c;顺便学了学FASTAPI框架&#xff0c;对比flask据说能好那么一些&#xff0c;至少并发什么的不用研究其他的asgi什么的&#xff0c;毕竟不是专业开发&#xff0c;能少研究一个东西就省了很多的事。 但是部署的过程中突然之间在do…

vue3+ts 重复参数提取成方法多处调用以及字段无值时不传字段给后端

参数提取前的写法&#xff0c;此写法值为空的时候也会传空字段给后端 会把无值的空字段传给后端 修改后的写法&#xff0c;不会把没有值的字段传给后端 // 列表和导出需要传给后端的公共参数&#xff08;加 || undefined即可过滤空字段&#xff09; const getCurentParam () …