记录数据被修改的相关信息
Row level模式 介绍: 日志中会记录成每一行数据被修改的形式,然后在slave端再对相同的数据进行修改 优点: 日志中可以不记录执行的sql语句的上下文相关的信息,仅仅只需要记录那一条记录被修改的形式。row level的日志内容会非常清楚的记录下每一行数据修改的细节,而且不会出现某些特定情况下的存储过程或function及trigger的调用和触发无法被正确复制的问题 缺点: 会产生大量的日志内容
Statement level模式 介绍: 每一条会修改数据的sql都会记录到master的bin-log中。slave在复制的时候sql进程会解析和原来master端执行过的相同的sql来再次执行 优点: 解决了row level下的缺点,不需要记录每一行数据的变化,减少bin-log日志量,节约IO,提高性能 缺点: MySQL数据库新功能的加入,修改数据的时候使用了某些特定的函数功能不能正确复制
Mixed模式 前两种模式的结合。会根据执行的每一条具体的sql语句来区分对待记录的日志形式