首页 > 其他分享 >redo log 的持久化

redo log 的持久化

时间:2024-11-03 22:46:53浏览次数:3  
标签:事务 持久 log buffer 提交 redo

1、持久化策略通过参数 innodb_flush_log_at_trx_commit 控制。

设置为 0 的时候,表示每次事务提交时都只是把 redo log 留在 redo log buffer 中 ; MySQL 崩溃就会丢失。
设置为 1 的时候,表示每次事务提交时都将 redo log 直接持久化到磁盘(将 redo log buffer 中的操作全部进行持久化,可能会包含其他事务还未提交的记录);断电也不会丢失。
设置为 2 的时候,表示每次事务提交时都只是把 redo log 写到 page cache。MySQL 崩溃不会丢失,断电会丢失。

2、InnoDB 后台还有一个线程会每隔一秒钟将 redo log buffer 中记录的操作执行 write 写到 page cache,然后再 fsync 到磁盘上。 

 

未提交的事务操作也可能会持久化,未提交事务操作的持久化触发场景如下:

1、redo log buffer 被占用的空间达到 innodb_log_buffer_size(redo log buffer 大小参数)的一半时,后台会主动写盘,无论是否是已完成的事务操作都会执行。

2、innodb_flush_log_at_trx_commit 设为 1 时,在每次事务提交时,都会将 redo log buffer 中的所有操作(包括未提交事务的操作)都进行持久化。

3、后台有线程每秒清空 redo log buffer 进行落盘。

标签:事务,持久,log,buffer,提交,redo
From: https://blog.51cto.com/u_7469027/12443389

相关文章

  • Respiratory Physiology & Neurobiology
    @目录一、征稿简介二、重要信息三、服务简述四、投稿须知一、征稿简介二、重要信息期刊官网:https://ais.cn/u/3eEJNv三、服务简述四、投稿须知1.在线投稿:由艾思科蓝支持在线投稿,请将文章全文投稿至艾思科蓝投稿系统;2.文章应具有学术或实用价值,并未在国内外期刊或会议上......
  • 第四届检测技术与智能系统国际学术会议(DTIS 2024) The 4th International Conference
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus大会时间:2024年12月13-15日大会地点:中国-长沙三、大会介绍第四届检测技术与智能系统国际学术......
  • EIE4432 Web Systems and Technologies
    EIE4432WebSystemsandTechnologiesGroupProject:FunctionalSpecificationProjectMilestone1:UIPrototypeDateofSubmission:2-Nov-2024SAT(Week10)(SubmittedbyONEgrouprepresentative)ProjectMilestone2:FinalProductDateofSubmission:28-N......
  • ScriptBasedMapping: Script /etc/hadoop/conf/topology_script-py
    spark-sql初始化时异常spark-sql初始化的突然发现spark返回无法解决hostname的问题,网上检索也是说hosts配置不对,但是检查后确实没有因此猜测hosts问题不对也可能引发该问题,但是其他问题也能存在引发问题的情况,因为发现由于执行etc/hadoop/conf/topology_script-p......
  • 数字IC中Verilog编码注意事项
    一、禁用多驱动一个wire型变量(具体到每个bit),只能在一个assign语句赋值一个reg型变量(具体到每个bit),只能在一个always语句赋值综合工具不能识别互斥条件在一个always块内,一次触发,对同一个信号最多只赋一次值比如:不要用多个ifalways@(posedgeclkornegedgerstn)begin......
  • 【填算符】(log 值域的做法)
    比赛在这里呢填算符下发题解说的神马东西,赛时根本想不到讲一个赛时想得到的\(O(n\log值域)\)的思路,很好理解我们处理出二进制下每一位上的1的最后一次出现的位置,将第\(i\(i\in[0,60])\)位上的1最后一次出现的位置记作\(pos_i\)同时我们设\(H=n-k-1\)为总共有的......
  • QT:子窗口设计(QDialog) + 子窗口向主窗口传递数据
    版本Qt5.9.8  (其他版本同样适用)一、子窗口设计(QDialog)(1)新建dialog子窗口文件        1.假设已经创建好了一个QT工程,名称为“test”。现在新建文件(新建子窗口所需文件)。        2.新建Qt设计界面类文件,再选择Dialog(这里选的无按键对话框),这里命......
  • POLIR-Mind-Cognition-Neural Models-NLP(Neural Logic Levels) 思维逻辑层级-能给你
    百知思维模型-NLP理解层次能给你无敌洞察力https://v.douyin.com/iS74bMKr/POLIR-Mind-CognitionNeuralModelsNLP(NeuralLogicLevels)思维逻辑层级能给你无敌洞察力GregoryBertson(格雷歌理,贝特森)RobertDiertz(罗伯特,迪尔磁)终于在1991年成为理解问题和解决问题......
  • [sa-token]StpUtil.getLoginId
    闲聊一般情况下,我们想用uid,可能需要前端将uid传过来,或者将token传来,然后我们进行识别。用了sa-token之后,可以使用StpUtil.getLoginId()方法获取当前会话的用户id代码展示例如以下代码:publicResponseResultgetMenu(){//获取用户角色Longuid=Long......