• 2024-11-03redo log 的持久化
    1、持久化策略通过参数 innodb_flush_log_at_trx_commit控制。设置为0的时候,表示每次事务提交时都只是把redolog留在redologbuffer中;MySQL 崩溃就会丢失。设置为1的时候,表示每次事务提交时都将redolog直接持久化到磁盘(将redologbuffer 中的操作全部进行持
  • 2024-10-23MariaDB 和 GreatSQL 性能差异背后的真相
    MariaDB和GreatSQL性能差异背后的真相前言最近项目上遇到了两次MariaDB和GreatSQL的对比,GreatSQL受到客户质疑,最后经过排查抓到性能差异背后的真相。基于此做个分享。版本MariaDB版本:10.3.39该版本为麒麟V10yum安装GreatSQL版本:GreatSQL-8-0-32-25问题一:MariaDB
  • 2024-10-17一文彻底弄懂mysql的事务日志,undo log 和 redo log
    在数据库事务管理中,UndoLog和RedoLog是两种关键日志,用于保障事务的原子性和持久性。它们的作用是确保数据库在出现崩溃、断电、宕机等故障时,能够进行恢复操作,从而保障数据一致性和完整性。它们通常用于支持事务的ACID特性中的原子性和持久性。下面将分别介绍UndoLo
  • 2024-10-13MySQL 日志系统
    MySQL日志系统:一条SQL更新语句是如何执行的WAL:先写日志,再写磁盘(顺序写代替随机写,提高性能)两阶段提交:保证redolog和binlog一致性MySQL三种日志SQL更新语句和SQL查询语句一样要经过各功能模块的处理,区别是更新语句设计写日志(binlog、redolog、undolog)。binlog记录
  • 2024-10-09【答疑解惑】图文深入详解undo和redo的区别及其底层逻辑
    题记:最近有些人问我,undo和redo到底是什么关系,他们中不乏已经入行3-4年的同学,今天咱们就来深入探讨下到底什么是undo和redo,他们分别做什么,底层逻辑原理是什么等等。1.undo1.1undo的存储结构Undo段(UndoSegment):–Undo信息存储在数据库的undo段中,这些段是特殊的数据库对
  • 2024-09-26南大通用GBase 8s高可用集群架构介绍
    对一些行业关键核心业务应用来说,必须满足7×24小时的不间断服务。这就要求数据库必须具备高可用性以避免数据库节点的单点故障。数据库的高可用架构选择直接影响到业务应用服务可用性的等级。一般行业的关键核心业务要求具备极高可用性,即99.999%的可用性级别。Oracle在高可用架构上
  • 2024-09-25两阶段提交中的 redo log 和 binlog 关系
     MySQL的InnoDB存储引擎使用 两阶段提交 来协调 redolog 和 binlog 的写入顺序,确保事务的一致性。具体过程如下:准备阶段(PreparePhase):InnoDB将事务修改写入 redolog,但此时redolog处于 prepare 状态,表示事务的修改已经写入磁盘,但是还没有提交。同时,MySQL
  • 2024-09-24适合初学者的[JAVA]:Mysql(3:Mysql事务)
    目录说明前言事务ACID:并发事务的问题:解决方案:uddolog和redolog的区别:先了解数据库的页概念:redolog:undolog:区别:mvcc:说明本文适合刚刚学习Java的初学者,也可以当成阿岩~的随手笔记.接下来就请道友们和我一起来学习吧!如果本文有写的不对的地方,
  • 2024-09-22第二十二讲:MySQL是怎么保证数据不丢的?
    第二十二讲:MySQL是怎么保证数据不丢的?简概开篇​ 今天这篇文章,我会继续和你介绍在业务高峰期临时提升性能的方法。从文章标题“MySQL是怎么保证数据不丢的?”,你就可以看出来,今天我和你介绍的方法,跟数据的可靠性有关。在专栏前面文章和答疑篇中,我都着重介绍了WAL机制(你可以
  • 2024-09-22一条 SQL 语句在 MySQL 中是如何执行的?
    本篇文章会分析下一个SQL语句在MySQL中的执行流程,包括SQL的查询在MySQL内部会怎么流转,SQL语句的更新是怎么完成的。在分析之前我会先带着你看看MySQL的基础架构,知道了MySQL由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这些问题。一MySQL基础架
  • 2024-09-21美团面试:binlog、redolog、undo log底层原理是啥?分别实现ACID哪个特性?(尼恩图解,史上最全)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪
  • 2024-09-15InnoDB中的redo log和undo log机制
    1.redolog:RedoLog是数据库系统(尤其是MySQL的InnoDB存储引擎)中用于实现事务持久性的重要机制。它记录了事务对数据库所做的修改,确保即使数据库发生崩溃,事务的提交仍然不会丢失。RedoLog的工作原理:事务开始:当事务执行开始时,任何对数据的修改都会先写入redolo
  • 2024-09-14日志系统
    日志系统redolog重做日志redolog为InnoDB引擎特有的物理日志,记录了:“在某个数据页上做了什么修改”的操作,循环写入,具备着占用空间小、顺序写磁盘的优点writepos作为当前记录的位置,一边写一边顺时针移动;checkpoint作为当前要擦除的位置,一边擦出一边顺时针移动,在擦除记录前
  • 2024-09-08tkinter Text edit_undo()/edit_redo() 没反应解决方法
    问题tkinter.Text调用edit_undo()和edit_redo()没反应。问题分析这是因为没有设置Text的undo参数为True,设置后才能“激活”edit_undo()和edit_redo()。这个错误难发现是因为它没有报错,查了好多资料才发现……希望以后python官方能改进这点。解决方法fromtkinterimport*
  • 2024-09-07第十四讲:答疑文章(一):日志和索引相关问题
    第十四讲:答疑文章(一):日志和索引相关问题简概:​ 到目前为止,我已经收集了47个问题,很难通过今天这一篇文章全部展开。所以,我就先从中找了几个联系非常紧密的问题,串了起来,希望可以帮你解决关于日志和索引的一些疑惑。而其他问题,我们就留着后面慢慢展开吧。​ 我在第2篇文章《日
  • 2024-09-04第十讲:为什么我的MySQL会“抖”一下?
    目录第十讲:为什么我的MySQL会“抖”一下?图概:提出现实问题:SQL执行的时候特别快,有时变得特别慢原因:为什么有时会“flush”呢?第一种场景,粉板满了,记不下了。第二种场景,要记住的事情太多,自己快记不住了,找账本把这笔账先加进去。第三种场景是,生意不忙,打烊之后柜台没事,掌柜闲着也是闲
  • 2024-09-04主备延迟故障分析方法
    【标题】主备延迟故障分析方法【问题分类】故障分析【关键字】Yashandb、主备延迟【问题描述】当数据库备机出现回放延迟时,需要通过一些手段分析延迟的原因。通过数据库的系统视图或操作系统监控数据可以辅助分析回放延迟的瓶颈。【问题原因分析】备延迟手段当前备库的复制
  • 2024-09-02详细分析MySQL事务日志(redo log和undo log)
    innodb事务日志包括redolog和undolog。redolog是重做日志,提供前滚操作,undolog是回滚日志,提供回滚操作。undolog不是redolog的逆向过程,其实它们都算是用来恢复的日志:1.redolog通常是物理日志,记录的是数据页的物理修改,而不是某一行或某几行修改成怎样怎样,它用来恢复提交后的
  • 2024-09-02MySQL日志
    MySQL基础日志日志分类在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL有多种类型的日志,用于记录数据库的操作和状态。以下是一些常见的MySQL日志:1、错误日志(ErrorLog):记录MySQL服务器在启动、运行过
  • 2024-08-29MySQL WAL机制详解
    目录:是什么undologRedoLog 与BinlogRedolog三种状态redolog 的持久化Binlog三种格式三种状态binlog 的持久化两者的联系状态Crash-Safe 能力三步提交的参数配置组提交优化" 三步提交"三步提交过程总结三个日志的比较(undo、redo、bin) 
  • 2024-08-04断电引起redo和数据文件不一致故障恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:断电引起redo和数据文件不一致故障恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有些时候故障总是来的让人非常意外,这个在准备停机迁移数据库之前的几分钟由于某种原因直接导
  • 2024-08-04mysql 两种重要的日志
    前言这个不用多说,两种重要的日志分别是redolog和binlog,这两种,下面分别来结束。正文先来redolog,redolog是innodb引擎特有的,运用了一种wal技术,全称是:write-aheadlogging.它的关键点就是先写日志,再写磁盘,也就是先写粉板,等不忙的时候再写账本。简单来说就是先写内存
  • 2024-07-30达梦DM8读写分离环境搭建及原理
    达梦DM8读写分离环境搭建及原理 DM8读写分离是建立在主备基础上,搭建过程大致相同,区别如下:1、主备的dmarch.ini不同。读写分离是:ARCH_TYPE=TIMELY#即时归档类型主备是:ARCH_TYPE=REALTIME#实时归档类型2、客户端连接集群配置稍有不同。客户端主机上需要配置dm_sv
  • 2024-07-26谈一谈一条SQL的查询、更新语句究竟是如何执行的?
    文章目录理解执行流程衍生知识redologbinlog本篇文章是基于《MySQL45讲》来写的个人理解与感悟。理解先看下图:上一篇文章我们讨论了一条SQL查询语句的执行流程,并介绍了执行过程中涉及的处理模块。回顾一下:大体来说,MySQL可以分为Server层和存储引擎层两部分
  • 2024-07-19第一讲:日志系统:一条sql更新语句是如何执行的?
    目录第一讲:日志系统:一条sql更新语句是如何执行的?回顾抛出问题:提出思路:重要的日志模块:redolog重要的日志模块:binlog为什么会有两份日志呢?这两种日志有以下三点不同简单的update语句时的内部流程为什么必须有“两阶段提交”呢?反证法解释:先写redolog后写binlog先写binlog后