MySQL篇:日志

news2024/11/23 18:38:57

前言

MySQL中常见的日志:

  1. 重做日志(Redo Log)
    用途: 保证事务的持久性,记录事务对数据库所做的所有修改。
    内容: 记录事务对数据页的物理修改,而不是逻辑修改。
    配置: 配置文件中设置 innodb_log_group_home_dir 和 innodb_log_files_in_group 参数。

  2. 撤销日志(Undo Log)
    用途: 保证事务的原子性,用于事务的回滚和 MVCC 实现。
    内容: 记录事务对数据页的逻辑修改,以支持事务的回滚。
    配置: 通常无需人工配置,由存储引擎自动管理。

  3. 二进制日志 (Binary Log): 

        用途:记录对数据库的修改操作,用于主从复制,点播恢复等

        内容:记录了对数据库执行的所有修改操作的语句或者原始二进制数据。

        配置:通过配置文件或动态设置 log_bin 参数启用。

1. Redo Log 重做日志

        重做日志保存的是事务提交时的物理修改,是用来实现事务的持久性的。

它由两部分组成:redo log buffer(重做日志缓冲区),  redo log file(重做日志文件)

前者是在内存中的,后者是在磁盘中的。

        当执行 Update, Delete 操作时,会先在一个叫 Buffer Pool 的mysql的缓存池里面进行更新数据,但是Buffer Pool 不会立马把数据刷新到磁盘,因为更新和删除操作时,会操作随机的数据页,也就是会进行随机磁盘IO,这样效率是很低的。所以就会先把修改记录写到redo log buffer中,事务提交的时候,会把redo log buffer中的数据刷新到磁盘中的redo log file中,这样即使Buffer Pool刷新脏页数据到磁盘的过程中发生错误,也能根据redo log buffer进行数据恢复。

2. Undo Log 回滚日志

        回滚日志用于记录数据修改前的信息,并能提供数据的回滚,也是mvcc中的一个组成部分。

比如,如果你进行了一个 Update操作,那么会在日志里面记录一条相反的Update操作,如果你进行了一个Delete操作, 那么会在日志里记录一条对应的Insert操作。

3. bin Log 二进制日志

        记录的是对数据库执行的所有增删改操作(不包括查询),但是是逻辑日志.它一般用于主从复制和点播恢复等。

他有三种日志格式,如下:

         在ROW格式下,会记录每次修改前后的行数据记录,而在STATEMENT格式下,会记录每次修改的sql语句。

同时,要想删除日志,也可以使用以下的命令:

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

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

相关文章

一款IM即时通讯聊天系统源码,包含app和后台源码

一款IM即时通讯聊天系统源码 聊天APP 附APP,后端是基于spring boot开发的。 这是一款独立服务器部署的即时通讯解决方案,可以帮助你快速拥有一套自己的移动社交、 企业办公、多功能业务产品。可以 独立部署!加密通道!牢牢掌握通…

《C专家编程》杂谈

库函数调用和系统调用的区别 系统调用比函数调用要慢很多,因为还要切换到内核模式。

防火墙综合实验之NAT和智能选路

目录 前言: 一、实验题目 二、实验操作 需求一 需求二 需求三 需求四、需求五 需求六 需求七 ​编辑 需求八 需求九 需求十 需求十一 三、需求测试 前言: 本篇文章是延续上一篇文章,简单来说就是防火墙实验的完善和延续&#…

【CUDA】CUDA中缓存机制对计时的影响

笔者在阅读知乎上一个关于CUDA编程的专栏时,发现作者写的很多文章中都会附带计时的模块用于评估程序的运行效率,然而笔者发现,在运行这篇文章中的代码时时,得到的结果和作者的结果有较大差异,主要体现在:使…

《战甲神兵》开发者报告:游戏崩溃问题80%发生在Intel可超频酷睿i9处理器上——酷睿i7 K系列CPU也表现出高崩溃率

在Intel持续面临第13代和第14代CPU崩溃问题的背景下,近日,《战甲神兵》(Warframe)的开发者们于7月9日披露了游戏崩溃的统计数据,并描述了诊断该问题的过程。根据开发团队的说法,一名未进行超频且使用全新PC的员工,即便…

网络安全设备——EDR

网络安全中的EDR(Endpoint Detection and Response,端点检测与响应)是一种主动式的端点安全解决方案,它专注于监控、检测和响应计算机和终端设备上的安全威胁。以下是EDR的详细解释: 一、定义与功能 EDR是一种网络安…

【C++】入门基础(引用、inline、nullptr)

目录 一.引用 1.引用的定义 2.引用的特性 3.引用的使用场景 4.const引用 5.引用和指针的区别 二.inline 三.nullptr 一.引用 1.引用的定义 引用不是新定义一个变量,而是给已经存在的变量取一个别名,编译器不会给引用变量开辟内存空间&#xff0c…

(实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee

★硬件资源:本文章以STM32L431RCT6做主控芯片做验证; ★IDE开发环境:RT Thread stdio; ★RT Thread 版本:V4.0.3 一、RT Thread Stdio加载软件包 1、如下图所示,通过RT Thread Stdio加载的软件包&#…

[FPGA]-时序传输模型分析

时序传输模型分析 FPGA内部时钟树 clk到达每个寄存器的时间不一致。 内部时钟树内部示意图如下所示: 在实际FPGA芯片内部,时钟到达每个寄存器的时钟偏差很小,但仍然存在;比如clk到达REG1花费时间0.2ns,到达REG6花费…

【Linux】基于环形队列RingQueue的生产消费者模型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 环形队列的概念及定义 POSIX信号量 RingQueue的实现方式 RingQueue.hpp的构建 Thread.hpp Main.cc主函数的编写 Task.hpp function包装器的使用 总结 前言…

Torch-Pruning 库入门级使用介绍

项目地址:https://github.com/VainF/Torch-Pruning Torch-Pruning 是一个专用于torch的模型剪枝库,其基于DepGraph 技术分析出模型layer中的依赖关系。DepGraph 与现有的修剪方法(如 Magnitude Pruning 或 Taylor Pruning)相结合…

Python:setattr()函数和__setattr__()魔术方法

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 setattr()是一个python内置的函数,用于设置一个对象的属性值,一般情况下,可以通过点运算符(.)完成相同的功能,但是getat…

[激光原理与应用-112]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 16 - 常见的产品指标

目录 一、光学传感器技术指标:实时信号采集与信号处理 (1)适用激光器的功率范围宽: (2)感光范围:350nm~1750nm:从可见光到红外光 (3)信号类型&#xff1a…

NSSCTF_RE(二)暑期

[CISCN 2021初赛]babybc LLVM是那个控制流平坦化混淆,bc是IR指令文件 得到64位elf文件 然后就慢慢分析,感觉太妙了我靠 一个数独游戏,用二个二维数组添加约束,一个二维数组作地图,慢慢看 最后用 z3 来解数独&#xf…

k8s快速部署一个网站

1)使用Deployment控制器部署镜像: kubectl create deployment web-demo --imagelizhenliang/web-demo:v1 kubectl get deployment,pods[rootk8s-matser ~]# kubectl get pods NAME READY STATUS RESTARTS A…

25届平安产险校招测评IQ新16PF攻略:全面解析与应试策略

尊敬的读者,您好。随着平安产险校招季的到来,许多应届毕业生正积极准备着各项测评。本文旨在提供一份详尽的测评攻略,帮助您更好地理解平安产险的校招测评流程,以及如何有效应对。 25届平安产险平安IQ(新)测…

Java 设计模式系列:外观模式

简介 外观模式(Facade Pattern)是一种设计模式,又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部…

2024-07-14 Unity插件 Odin Inspector2 —— Essential Attributes

文章目录 1 说明2 重要特性2.1 AssetsOnly / SceneObjectsOnly2.2 CustomValueDrawer2.3 OnValueChanged2.4 DetailedInfoBox2.5 EnableGUI2.6 GUIColor2.7 HideLabel2.8 PropertyOrder2.9 PropertySpace2.10 ReadOnly2.11 Required2.12 RequiredIn(*)2.…

基于Python thinker GUI界面的股票评论数据及投资者情绪分析设计与实现

1.绪论 1.1背景介绍 Python 的 Tkinter 库提供了创建用户界面的工具,可以用来构建股票评论数据及投资者情绪分析的图形用户界面(GUI)。通过该界面,用户可以输入股票评论数据,然后通过情感分析等技术对评论进行情绪分析…

昇思25天学习打卡营第14天 | ShuffleNet图像分类

昇思25天学习打卡营第14天 | ShuffleNet图像分类 文章目录 昇思25天学习打卡营第14天 | ShuffleNet图像分类ShuffleNetPointwise Group ConvolutionChannel ShuffleShuffleNet模块网络构建 模型训练与评估数据集训练模型评估模型预测 总结打卡 ShuffleNet ShuffleNetV1是旷世科…