mysql 三大日志

undo log

undo log 记录数据被修改前的信息。

作用:防止丢失数据,用于事务失败后的回滚,Innodb 存储引擎的最大特点就是支持事务,如果本次更新失败,那么该事务中的所有的操作都必须回滚到执行前的样子,也就是说当事务失败的时候,也不会对原始数据有影响。

添加时机:在MysqL将要更新的数据加载到缓冲区Buffer pool 时,同时往 undo 日志文件中插入一条数据初始状态记录的日志。

更新过程:

  1. 准备更新一条 sql 语句
  2. MysqL(innodb)会先去缓冲池(BufferPool)中去查找这条数据,没找到就会去磁盘中查找,如果查找到就会将这条数据加载到缓冲池(BufferPool)中。
  3. 在加载到 Buffer Pool 的同时,会将这条数据的原始记录保存到 undo 日志文件中。
  4. 我们需要执行的 sql 语句已经被加载到 Buffer Pool 中了,然后开始更新这条语句,更新的操作实际是在Buffer Pool中执行的。

 redo log

redo 记录的是数据修改之后的值,不管事务是否提交都会记录下来

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...