

新闻资讯
技术学院
推荐(免费):SQL
零、数据库驱动
一、数据库连接池
二、SQL 接口
接口去处理。三、查询解析器
四、MySQL 查询优化器
五、存储引擎
六、执行器
七、Buffer Pool
八、三个日志文件
1、undo 日志文件:记录数据被修改前的样子
2、redo 日志文件:记录数据被修改后的样子
3、bin log 日志文件: 记录整个操作过程
| 性质 | redo Log | bin Log |
|---|---|---|
| 文件大小 | redo log 的大小是固定的(配置中也可以设置,一般默认的就足够了) | bin log 可通过配置参数max_bin log_size设置每个bin log文件的大小(但是一般不建议修改)。 |
| 实现方式 |
redo log是InnoDB引擎层实现的(也就是说是 Innodb 存储引起过独有的) |
bin log是 MySQL 层实现的,所有引擎都可以使用 bin log日志 |
| 记录方式 | redo log 采用循环写的方式记录,当写到结尾时,会回到开头循环写日志。 | bin log 通过追加的方式记录,当文件大小大于给定值后,后续的日志会记录到新的文件上 |
| 使用场景 |
redo log适用于崩溃恢复(crash-safe)(这一点其实非常类似与 Redis 的持久化特征) |
bin log适用于主从复制和数据恢复 |
bin log 记录的是整个操作记录(这个对于主从复制具有非常重要的意义)