MYSQL各种log

news2024/11/19 19:30:29

本章纲要

1、mysql主从复制是怎么实现的(binlog,relaylog)

2、事物执行原理是怎么保证ACID的(redolog,undolog)

一、Mysql是怎么实现主从复制的

 数据库主从设计的好处:

1、实现读写分离,方便扩展,提高性能,防止io瓶颈

2、数据备份,防止数据丢失

从数据一致性和时效性来分析主从复制

复制整体过程

1、slave连接到master时,master会创建一个log dump线程(主节点会为每个从节点创建一个),这个线程的主要用处就是发送和读取binlog给slave,读取过程中会对binlog加锁操作

2、master发生数据更新时,先更新本地库,写入本地binlog

3、通过log dump线程发送binlog到slave

4、slave启动io线程(接收master发过来的binlog,查询master的binlog)

5、将binlog写入slave的relay log(把master的binlog转存到slave本地,方便给master快速响应)

6、写入relaylog成功后异步启动SQL线程(用于读取relaylog将数据持久化到slave)

7、写入relaylog成功后同步通知master返回ack

8、master接收到ack后返回成功(整个本地持久化,主从复制成功)

总结:

1、过程中有三个线程:master的log dump线程,slave的IO线程和SQL线程

2、数据写入master到slave写入relaylog到返回master这个过程是同步的,slave写入relaylog成功后Slave后续是异步操作(SQL线程)

3、同步部分保证了主从数据库的一致性,异步操作提高了主从复制的效率

二、事物的是怎么保证ACID的

事物的执行过程:事物在执行时先将数据写入日志及内存页中,然后在定时或系统空闲时持久化到磁盘,而并非每次实时更新

1、原子性:一个事物中要么全部成功,要么全部失败

事物开启后sql被记录到redolog和undolog

redolog主要记录正向sql,也就是真正要准备被提交的,准备被持久化的

undolog记录反向sql,就是如果事物执行了回滚命令后要执行的(删除缓存和redolog)

redolog存在的意义就是:事物commit后数据被写到内存,还没持久化到磁盘时,宕机,重启后靠redolog恢复数据

问题:写入redolog也是操作磁盘io,为什么不直接持久化更新磁盘?

答:写入redolog是顺序写,写入效率高,而真正持久化的时候是先找到再写,效率低

2、持久性

上面redolog存在的意义,保证了数据不会丢失,commit后不会被回滚

3、隔离性

https://blog.csdn.net/qq_26418435/article/details/103564571

4、一致性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 磁盘爆了,是 optimize table 的锅

2023-06-26 22:17左右,收到某系统的主库磁盘使用率告警。2023-06-26 23:02左右收到该系统的从库磁盘使用率告警。 收到告警后,登录数据库查看各表的磁盘使用。 经分析发现DB存在一个当日的备份表t_eap_sys_navigation_log_bak_20230626 ,且在…

4077:出栈序列统计

codeup【递归入门】出栈序列统计_codeup编程_战斗的咸鱼的博客-CSDN博客 #include<iostream> using namespace std; int n,sum,ans; void dfs(int out,int in,int not_in){if(outn){ans;return;}if(in>0) dfs(out1,in-1,not_in);if(not_in>0&&in<n) dfs…

Vue模板编译

文章目录 导文Vue模板编译是什么&#xff1f;模拟编译模板总结 导文 Vue框架使用了模板编译的方式来将Vue模板转换为可执行的JavaScript代码。这个编译过程在运行时由Vue的编译器完成。 在Vue中&#xff0c;模板是以HTML标记的形式编写的&#xff0c;其中可以包含Vue的特殊语法…

【探索 Kubernetes|作业管理篇 系列 14】StatefulSet 存储状态

前言 大家好&#xff0c;我是秋意零。 在上一篇中&#xff0c;我们讲解了 StatefulSet 的拓扑状态&#xff1b;我们发现&#xff0c;它的拓扑状态&#xff0c;就是顺序启动/删除、Pod 名称编号命名、将 Pod 名称设为 Hostname 名称、通过 Service 无头服务的 DNS 记录访问。 …

基于Python的海量豆瓣电影、数据获取、数据预处理、数据分析、可视化、大屏设计项目(含数据库)

目录 项目介绍研究背景国内外研究现状分析研究目的研究意义研究总体设计网络爬虫介绍豆瓣电影数据的采集数据预处理大数据分析及可视化豆瓣影评结构化分析 大屏可视化文本可视化总结每文一语 项目介绍 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博…

虹科DataHub:连接工业自动化的桥梁,引领企业数字化转型

一、前言 随着智能制造、工业互联网等新一代信息技术的不断发展&#xff0c;IT和OT融合已成为未来制造业数字化转型的重要趋势。得益于开放的系统架构和创新的软件应用&#xff0c;OT&#xff08;工业自动化技术&#xff09;和信息技术&#xff08;IT&#xff09;系统之间的数…

在windows系统中映射网络驱动器时,如何通过非455端口远程访问Linux服务器的Samba服务

声明 通常情况下&#xff0c;在windows中通过Linux服务器的Samba服务去映射网络驱动器时候&#xff0c;一般默认就是直接填入内网Linux服务器ip即可&#xff0c;它会默认445端口。若是我的windows并不和Linux服务器在一个网段时&#xff0c;该如何操作呢&#xff1f; 1 用管理…

一键转发微信好友朋友圈,自动跟圈

今天咱来讲一下如何实现一键转发朋友圈&#xff1f; 如何一键跟圈&#xff0c;多个微信快速同步发圈&#xff1f; 01 一键转发 浏览朋友圈&#xff0c;在此页面可以浏览所登录的微信号的好友朋友圈&#xff0c;可以实现快速点赞、评论、一键转发。 单击“转发”即可跳转到发…

D. Optical Experiment

题意&#xff1a; D. 光学实验 时间限制&#xff1a;5秒 内存限制&#xff1a;256兆字节 输入&#xff1a;标准输入 输出&#xff1a;标准输出 Phunsuk Wangdu教授进行了一些关于光线的实验。n条光线的实验装置如下&#xff1a; 有一个长方形盒子&#xff0c;在相对的两面…

windows的环回网卡(loopback adapter) 安装方法

0.说明&#xff1a;windows的环回网卡(loopback adapter)的作用&#xff1a; microsoft loopback adapter就是安装在本机上的一块虚拟网卡&#xff0c;它跟本机上的其它物理网卡、和物理网卡连接的网络是没有关系的&#xff0c;你可以理解成这块网卡上的网线接到了另外一个空白…

葡萄风味有奥秘,农科院用机器学习揭示基因渐渗过程

内容一览&#xff1a;基因渐渗与葡萄的驯化、遗传改良密切相关。先前研究揭示了欧洲栽培葡萄中&#xff0c;野生葡萄基因渐渗的基因组信号&#xff0c;但尚未深入研究这些渐渗事件发生的时间、方式、基因组模式和生物学效应。本文中&#xff0c;中国农业科学院深圳农业基因组研…

【杂谈理解】电源芯片设计选型

前言 看B站UP主达尔闻关于电源视频&#xff0c;做的笔记。下述内容中&#xff0c;如有芯片比较皆是性能层面的比较&#xff0c;暂未考虑成本。且老师在视频中&#xff0c;也多次建议说&#xff0c;可以多关注比较新兴的芯片&#xff0c;一般会是有更好的性能。讲的真的很好&…

【MySQL】MySQL数据库,RDBMS 术语,使用说明和报错解决的详细讲解

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

转型升级必备:智能客服外包服务的应用实践

随着信息技术的不断发展&#xff0c;人工智能技术在各个领域的应用越来越广泛&#xff0c;其中智能客服外包服务是一个备受关注的领域。智能客服外包服务是指将企业的客服业务交由专业的第三方服务商处理&#xff0c;并运用人工智能技术提供更高效、更优质的客服服务。本文将从…

FineReport学习2

当原始数据中存储的字段不适宜展现在报表上&#xff1b;或原始数据在数据查询时不易修改&#xff0c;但对显示在报表中的值有要求&#xff1b;或需要根据不同的原始数据在报表中显示不同的值时&#xff0c;就可以利用数据字典做巧妙的转化 设置数据字典 数据列的过滤&#xff…

解决程序错误‘找不到vcruntime140.dll,无法继续执行代码’的全面解决方案

在运行某些应用程序或代码时&#xff0c;你可能会遇到一个错误提示&#xff1a;“找不到vcruntime140.dll,无法继续执行代码”。其实遇到这种情况不需要担心&#xff0c;我们有多种方法可以进行解决&#xff0c;今天小编就来给大家详细的说说vcruntime140.dll文件的相关问题&am…

ABIDE Preprocessd 结构态MRI数据集介绍及下载(FreeSurfer流程)

引言 本博客书接上文&#xff1a;ABIDE Preprocessed 结构态MRI数据集介绍及下载&#xff0c;写前一篇的时候因为觉得FreeSurfer流程处理完成的数据过于庞杂&#xff0c;想要从中获得需要的ROI层面形态学特征过于复杂&#xff0c;所以只是简单说明了其下载方式&#xff0c;并未…

DAY34——贪心part3

1. class Solution {public int largestSumAfterKNegations(int[] nums, int K) {// 将数组按照绝对值大小从大到小排序&#xff0c;注意要按照绝对值的大小nums IntStream.of(nums).boxed().sorted((o1, o2) -> Math.abs(o2) - Math.abs(o1)).mapToInt(Integer::intValue)…

8.12 IP协议与ethernet协议

目录 IP协议作用和意义 计算机网络体系结构 网络互联使用路由器 IP网的意义 分组在互联网中的传送 分组传输路径 ​编辑 IP 数据报首部格式 IP数据报的格式 IP数据报首部的固定部分中的各字段 IP 数据报分片 IP数据报首部中的协议 以太网协议 IP协议作用和意义 数…

13年测试老鸟经验,性能测试-性能调优各个方法详细,一篇通透...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 WebServer服务优化…