mysql中bin.log和redo.log都可以做恢复?
相关推荐
MySQL不停机不锁表主从同步与读写分离配置
MySQL不停机不锁表主从同步与读写分离配置,1 .xtrabackup安装.2.核对mysql的版本.3.在master服务器上在线备份数据库.4.slave机器上操作
MySQL面试题、笔试题
MySQL面试题、笔试题 MySQL面试题、笔试题 MySQL面试题、笔试题
MySQl 通过.frm 和 .ibd文件恢复数据.pdf
MySQl 通过.frm 和 .ibd文件恢复数据
MySQL日志文件详解
概述 日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等。本文主要描述MySQL的各种日志文件。 MySQL日志文件分类 1.错误日志(Error Log) 2.二进制日志(Binary Log & Binary Log Index) 3.通用查询日志(query log) 4.慢查询日志(slow query log) 5.Innodb的在线 redo 日志(innodb redo log) 6.更新日
MySQL Redo日志与Binlog顺序一致性[源码]
本文深入探讨了MySQL中Redo日志与Binlog日志的顺序一致性问题。首先解释了为什么MySQL同时需要binlog(Server层,用于主从复制和恢复)和redo log(InnoDB层,用于事务持久化)。接着分析了事务提交过程,重点讨论了在开启Binary log的情况下,如何通过两阶段提交(2PC)保证日志顺序一致性。文章通过假设先写redo log再写binlog和先写binlog再写redo log两种场景,说明了各自可能导致的崩溃恢复问题。最终解决方案是MySQL内部采用XA两阶段提交:第一阶段InnoDB Prepare阶段写入redo log(不含commit标签),第二阶段先写binlog再写redo log的commit标签。binlog写入成功即视为事务提交成功,崩溃恢复时通过比较redo log中Prepare状态事务的xid与binlog中的xid来决定提交或回滚,从而确保主从数据一致性。


