MYSQL如何进行重做操作?

时间:2016-12-29 09:18:44

标签: mysql

我们知道在SQL服务器中,事务日志文件包含重做日志和撤消日志,但是在MYSQL事务日志中,它只包含撤销日志,所以如果它只写了部分的,那么MYSQL如何进行重做操作成功交易的交易数据,然后服务器下来?因为在重启服务器时需要进行重做操作。

Eidt,对不起,我错了,我的意思是为什么MYSQL没有重做日志而不是撤消日志。

1 个答案:

答案 0 :(得分:0)

这不是在MySQL级别上完成的,这涉及支持事务的各种表类型(例如innodb)。

Innodb是MySQL中使用最广泛的事务表类型,我的回答仅关注此表类型。对于其他事务表类型,请参阅有关重做日志的更多信息的自己的文档。

innodb redo logs上的MySQL文档描述了innodb如何存储重做日志:

  

默认情况下,重做日志在磁盘上物理表示为一组   文件名为ib_logfile0和ib_logfile1。 MySQL写入重做日志   文件以循环方式。重做日志中的数据按术语编码   受影响的记录;这些数据统称为重做。   数据通过重做日志的传递用a表示   不断增加的LSN值。