我已经读过关于MySQL的文章。我认为两种日志类型非常相似。MySQL保存在日志中更改数据的方式和时间。信息用于恢复MySQL。我混淆了两种日志类型的功能。
我已经读过关于MySQL的文章。我认为两种日志类型非常相似。MySQL保存在日志中更改数据的方式和时间。信息用于恢复MySQL。我混淆了两种日志类型的功能。
Answers:
REDO日志是Oracle术语,事务日志是InnoDB术语。既然都是Oracle工程师,那么人们都可以在MySQL中使用相同的名称。
事务日志在默认情况下是可以更改的ib_logfile0
,位于$ DATADIR中的两个文件称为和ib_logfile1
。它具有与其他数据库中的REDO日志相同的功能-以安全的方式存储写操作并在崩溃的情况下进行恢复,尽管实现中的某些细节与其他RDMS的功能有所不同。它是InnoDB成为事务引擎的主要组件。
不要将事务日志与MySQL中的二进制日志混淆。默认情况下,binlog位于$ DATADIR上,并且*hostname*-bin.index
与and *hostname*-bin.00001
等。对于来自其他数据库的人来说,这尤其令人困惑,因为它用于其他数据库使用REDO日志的其他事情:复制和时间点复苏。主要区别在于事务日志仅适用于InnoDB,二进制日志(大多数情况下)与事务无关,因为它适用于所有存储引擎(无论是否具有事务性)。MyISAM将写入(如果启用)二进制日志。InnoDB将写入事务日志和二进制日志。
有关手册的更多信息:REDO log,binary log。