我正在为我们需要在我们的DBMS(MySQL)中使用“事务日志”的项目工作。我们已经转向使用InnoDB,以便将事务用于其他需求。我想了解什么是事务日记。我一直在寻找一整天,包括阅读MySQL文档。也许我只是没有搜索正确的关键字,我不确定。或者,“交易日记”可能是不恰当的术语。MySQL事务日志
据我所知,数据库事务日志类似于日志文件系统,因为日志文件在提交到文件系统之前会对其进行更改。从我读到的内容来看,这听起来像InnoDB引擎在将某些日记交给磁盘之前将其存储在某种日记中。这听起来准确吗?如果是这样,交易日志在哪里?它是ib_logfile0和ib_logfile1吗?
我知道这些日志文件是用于崩溃恢复的,但不是在发生崩溃时负责“事务”正确发生的MVCC机制? MyISAM有一定程度的崩溃恢复,但根本没有交易。 – karatedog 2012-03-30 22:11:34
感谢您的详细和及时的回复。我对重播日志中的条目有点困惑。如果在交易中间发生故障,在提交之前,我认为你不想重放这些条目,因为交易全是或全无(你不希望交易的一部分做出承诺)。还是你说他们只有在提交时才会重播,但是失败发生在事务提交到数据库之前,但在将它保存到日志文件之后? – alfredough 2012-04-02 22:57:02