innodb通过redolog恢复的具体操作步骤是什么样的?
时间: 2024-05-29 18:10:56 浏览: 13
以下是InnoDB通过Redo Log进行恢复的操作步骤:
1. 找到最后一个checkpoint位置:在启动MySQL时,InnoDB会读取最后一个checkpoint位置,如果存在dirty pages(脏页),则InnoDB会在这个位置开始恢复。
2. 找到最后一个checkpoint位置后,InnoDB会开始读取Redo Log中的记录,从最早的记录开始读取。
3. InnoDB会将读取到的记录应用到内存中的数据页中,这些数据页可能是在系统崩溃前已经提交的,也可能是未提交的。
4. InnoDB会将应用的记录标记为已处理,以避免重复处理。
5. 当所有的记录都被应用后,InnoDB会将所有未提交的事务回滚,并将已提交的事务标记为已完成。
6. InnoDB会更新Redo Log checkpoint位置,以便下一次启动时能够从正确的位置开始恢复。
需要注意的是,如果Redo Log中的记录已经被覆盖,那么这些记录将无法恢复。因此,定期备份是非常重要的,以便在系统故障发生时能够恢复尽可能多的数据。
相关问题
[MY-013865] [InnoDB] Redo log writer is waiting for a new redo log file. Consider increasing innodb_redo_log_capacity.
这个错误提示是MySQL InnoDB引擎的一条日志记录,意思是Redo日志写入器正在等待一个新的Redo日志文件。InnoDB引擎使用Redo日志来保证事务的持久性和恢复能力,当Redo日志写满时会触发切换到新的Redo日志文件。如果提示这个错误,说明当前的Redo日志已经写满,但是没有新的Redo日志可用,这个时候可以考虑增加innodb_redo_log_capacity参数的值来提高Redo日志的容量。你可以通过修改MySQL配置文件或者使用命令行的方式来修改该参数的值,例如:
```
SET GLOBAL innodb_redo_log_capacity=4096;
```
需要注意的是,修改该参数的值可能会影响到数据库性能和稳定性,所以需要谨慎操作。
Mysql redo log为什么比bin log更能支持数据恢复
MySQL的redo log和bin log都是用于数据恢复的,但在某些场景下,redo log比bin log更能支持数据恢复。
redo log是InnoDB存储引擎特有的日志,记录了每个事务对数据页所做的修改操作,是物理日志,记录的是对数据页的物理修改,而不是SQL语句。在MySQL发生崩溃或宕机时,InnoDB会根据redo log中的日志重做,把未来的修改操作都执行一遍,保证数据的一致性。因为redo log记录了每个事务对数据页的修改操作,所以即使在MySQL宕机之前的部分数据没有写入磁盘,也可以通过重做日志来恢复数据。
bin log是MySQL的一种逻辑日志,记录了所有对数据库的DDL和DML操作,是SQL语句的集合。在MySQL发生崩溃或宕机时,可以使用bin log中的日志进行数据恢复,但只能恢复到最后一次备份之后的状态。因为bin log记录的是SQL语句,而这些语句可能因为各种原因执行失败或不完整,所以不能保证数据的一致性。
因此,redo log比bin log更能支持数据恢复,尤其是在MySQL宕机或崩溃的情况下。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)