mysql面试题 Day6

1 mysql中 redo log 、undo log、bin log 是什么?有什么用?

1. Redo Log

定义:

Redo Log 是MySQL InnoDB存储引擎的一种日志文件,用于保证事务的持久性。它记录了事务在数据库中的修改,用于在系统崩溃后进行数据恢复。

用途:
  • 数据恢复:当系统崩溃后,InnoDB存储引擎会使用Redo Log来恢复未写入数据文件的已提交事务,确保数据一致性。

2. Undo Log

定义:

Undo Log 是MySQL InnoDB存储引擎的一种日志文件,用于保证事务的原子性。它记录了事务所做的修改的反向操作,用于在事务回滚时撤销未提交的更改。

用途:
  • 事务回滚:当事务执行过程中发生错误或显式要求回滚时,Undo Log会撤销已完成的操作,使数据库恢复到事务开始前的状态。
  • MVCC(多版本并发控制):Undo Log 还支持MVCC,允许读取旧版本数据,提高并发性能。

3. Bin Log

定义:

Bin Log(Binary Log)是MySQL服务器层的日志文件,记录了所有对数据库进行更改的SQL语句(包括增、删、改操作)。

用途:
  • 数据恢复:在主从复制中,Bin Log可以用于在备份恢复后重新应用所有的更改,确保数据一致性。
  • 复制:MySQL支持主从复制,主服务器会将Bin Log发送到从服务器,从服务器会重放这些日志以保持数据同步。
  • 审计:Bin Log可以用来跟踪数据库的所有修改操作,便于审计和数据变更追踪。

总结:

  • Redo Log:用于事务的持久性,保证数据在系统崩溃后的恢复。
  • Undo Log:用于事务的原子性,支持事务回滚和MVCC。
  • Bin Log:用于记录所有数据变更,支持数据恢复、主从复制和审计。

通过合理地使用这三种日志,MySQL可以实现高效的事务处理和数据恢复,确保数据的完整性和一致性。

2 redo log 、undo log 、bin log 的写入时机?

https://zhuanlan.zhihu.com/p/528575954

相关推荐

  1. mysql面试 Day6

    2024-07-11 10:42:01       28 阅读
  2. mysql面试 Day2

    2024-07-11 10:42:01       30 阅读
  3. mysql面试 Day5

    2024-07-11 10:42:01       26 阅读
  4. MySQL面试系列-6

    2024-07-11 10:42:01       33 阅读
  5. ES6 面试

    2024-07-11 10:42:01       47 阅读
  6. ES6 面试

    2024-07-11 10:42:01       33 阅读
  7. es6面试

    2024-07-11 10:42:01       47 阅读
  8. ES6面试

    2024-07-11 10:42:01       30 阅读
  9. Day6: 5道C++ 面向对象高频整理

    2024-07-11 10:42:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 10:42:01       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 10:42:01       108 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 10:42:01       91 阅读
  4. Python语言-面向对象

    2024-07-11 10:42:01       98 阅读

热门阅读

  1. 人工智能在自动驾驶中的目标检测研究

    2024-07-11 10:42:01       28 阅读
  2. 编程语言 Public:深度解析与未来展望

    2024-07-11 10:42:01       29 阅读
  3. 【SQL】InnoDB中的行锁

    2024-07-11 10:42:01       30 阅读
  4. 编程什么好用:深入剖析编程工具的选择与运用

    2024-07-11 10:42:01       27 阅读
  5. C++引用和指针的区别

    2024-07-11 10:42:01       24 阅读
  6. 3.数组基础

    2024-07-11 10:42:01       21 阅读
  7. Docker 日志丢失 - 解决方案

    2024-07-11 10:42:01       23 阅读
  8. 3D Web开发新篇章:threelab探索之旅

    2024-07-11 10:42:01       22 阅读
  9. 外科休克病人的护理

    2024-07-11 10:42:01       26 阅读