内容来自《收割Offer》

面试官提问

● MySQL binlog日志备份有哪3种模式?

● binlog的作用是什么?

MySQL的binlog日志备份有3种模式:基于行的复制(Row-BasedReplication,RBR)、基于SQL语句的复制(Statement-BasedReplication,SBR)和混合模式复制(Mixed-Based Replication,MBR),分别说明如下:

1 RBR

日志记录了每一行被修改的细节,然后在 Slave 端对数据进行同样的修改,RBR 模式可能会产生大量的日志。

2 SBR

记录每一条修改数据的SQL,Slave 端解析出和 Master 端相同的SQL后执行。由于不记录每一行数据的变化,因此产生的 binlog 日志量较少。但为了让SQL在Slave端执行的效果和Master相同,因此必须记录每条语句在Master端执行时的上下文信息。

3 MBR

MBR模式是RBR和SBR两种模式的结合,根据执行的具体SQL来区分对待记录日志的形式,比如表结构变更,比如表结构变更以SBR模式来记录,update、delete等SQL语句一般以RBR模式记录。