zoukankan      html  css  js  c++  java
  • MYSQL事务的日志

    1.事务日志

    1.redo log

    redo,顾名思义“重做日志”,是事务日志的一种
    
    作用:
         在事务ACID过程中,实现的是“D”持久化的作用。
    
         REDO:记录的是,内存数据页的变化过程
    
         特性:WAL(Write Ahead Log)日志优先写
    文字描述流程:
                # 修改
                1)首先将表中id=1的行所在数据页加载到内存中data buffer page
                2)MySQL实例在内存中将id=1的数据页改成id=2
                3)id=1变成id=2的变化过程会记录到,redo内存区域,也就是redo buffer page中
                4)当敲下commit命令的瞬间,MySQL会将redo buffer page写入磁盘区域redo log
                5)当写入成功之后,commit返回ok
    
               # 查询
               1.首先将表中id=1的行所在数据页加载到内存中data buffer page
               2.将redo log中id=1变成id=2的变化过程取加载到redo buffer page
               3.通过data buffer page和redo buffer page得到一个结果
    

    2.undo log

    undo,顾名思义“回滚日志”,是事务日志的一种
    
    作用:
         在事务ACID过程中,实现的是“A”原子性的作用。当然CI的特性也和undo有关
    

    3.redo和undo的存储位置

    #redo位置
    [root@db01 data]# ll /application/mysql/data/
    -rw-rw---- 1 mysql mysql 50331648 Aug 15 06:34 ib_logfile0
    -rw-rw---- 1 mysql mysql 50331648 Mar  6  2017 ib_logfile1
    
    #undo位置
    [root@db01 data]# ll /application/mysql/data/
    -rw-rw---- 1 mysql mysql 79691776 Aug 15 06:34 ibdata1
    -rw-rw---- 1 mysql mysql 79691776 Aug 15 06:34 ibdata2
    
  • 相关阅读:
    禁止logback输出状态信息
    Idea导出可运行Jar包
    K均值算法
    [转]香农信息论与毒药称球问题
    ajax跨域请求
    Python函数的静态变量
    学倦乱语
    [转]被当做狗和鸡来驱赶的百姓
    numpy文件读写的三对函数
    认真把事办砸是一种能力
  • 原文地址:https://www.cnblogs.com/Applogize/p/13374231.html
Copyright © 2011-2022 走看看