面试题:MySQL日志文件有哪几种?
我的回答:
1.undo log,撤销日志,是InnoDB存储引擎层面生成的日志,主要用于数据库事务的回滚和MVCC(多版本并发控制)。可以帮助数据库回滚到事务开启之前的状态,保持数据的一致性。
2.redo log,重做日志,也是InnoDB存储引擎层面生成的日志,是物理层面的日志,记录了数据库表页的修改操作,比如insert、update、delete等,用于数据恢复。确保数据库崩溃了之后,重做这些操作也可以恢复数据库。
3.bin log,二进制日志,server层生成的日志,主要用于数据复制和备份。复制机制可以将数据库中的数据同步到其他服务器上,实现主从复制。
4.error log,错误日志,记录数据库开启、运行、停止所生成各种错误日志,用于问题定位和排错。