面试官:
你好,不要太紧张,看简历上写着你对MySql比较熟悉,那我们先来聊聊MySql吧。
三毛:
嗯嗯,好的,我们项目中基本都用到了MySql,对这块应该还是比较熟悉的。
面试官:
好,那我们聊一聊MySql的数据库引擎,你知道MySql的数据库存储引擎吗?
三毛:
我了解MySql是有两种数据库引擎,一种是MyISAM,一种是InnerDB,
MyISAM不支持事务,只支持表级锁,对于有事务需求或者是增删改比较频繁的表不适合用这种引擎。
InnerDB增加了redo log日志,支持事务,并且支持行锁,开发中大多数都是用的这种引擎。
面试官:
嗯,好的,还有吗?
三毛:
额,我能想到的基本就是这些。
面试官:
好的,那我再问下,你了解MySql的故障恢复吗?
三毛:
哦,这个我了解,InnerDB是通过binlog和redo log来支持故障恢复的,它就是记录日志的时候,先写redo log,再写binlog,
成功之后再写redo log,标记本次操作成功。对了,MyISAM是不支持故障恢复的,这也是MyISAM和InnerDB的一个区别。
面试官:
好,那你能讲讲MySql的InnerDB存储引擎崩溃恢复具体流程吗?
三毛:
这个,我只知道只要 redo log 和 b