mysql是怎么保证事务 server层的binlog和引擎层的redolog 一致的

内部xa事务主要是mysql内部为了保证binlog与redolog之间数据的一致性而存在的,这也是由其架构决定的(binlog在mysql层,而redolog在存储引擎层);

外部xa事务则是指支持多实例分布式事务,这个才算是真正的分布式事务。

既然是xa事务,必然涉及到两阶段提交,对于内部xa而言,同样存在着提交的两个阶段。

本回答由提问者推荐

mysqlredolog_mysqlredolog

mysql的innodb引擎下的undo log中包括“写redo log”这件事?

1二进制日志记录所有引擎的日志,而重做日志只记录InnoDB;

2二进制日志记录事务的具体操作内容,而后者记录每个页更改的物理情况;

3前者在事务提交前记录,后者则在事务进行中不断写入redoentry!

本回答由网友推荐

mysql binglog,redolog先写哪个

mysql通过内部XA事务协调处理binlog、redolog 的写入

在事务提交时,先写二进制日志,再写innodb存储引擎的重做日志。对上述两个操作的要求是原子的,即二进制日志和重做日志必须同事写入。若二进制日志先写了,而在写入innodb存储引擎时发生了宕机,那么slave可能会接收到master传过去的二进制日志并执行,最终导致主从不一致的情况

如果在innodb存储引擎提交前,MySQL数据库宕机了,那么MySQL数据库在重启后会先检查准备的UXID事务是否已经提交,若没有,则在存储引擎层再进行一次提交操作期待看到有用的回答!

mysqlredolog_mysqlredolog_02

在数据库中,binlog和redolog有什么区别

1 redo是innodb引擎范畴的东东,事务日志说的就是他。物理修改,记录物理页的修改。

binlog是MySQL server范畴的东东,记录的是事务的变更操作,支持多种存储引擎。直接在sapdba里面选就行了...... 问问...你的archive目录多大呀 我的是15g.....和和... 有200用户.....一天有5-10g的log....