1.binlog的3种格式,类型对比 statement,row,mixed
set session binlog_format='statement'; show variables like 'binlog_format';
show master status;
show binlog events in 'mysql-bin.000002';
查看生成的binlog内容
mysqlbinlog -vv D:\program_files\phpstudy\PHPTutorial\MySQL\binlog\mysql-bin.000002 --start-position=5083
statement类型
选择不同的索引,会导致结果不同 now()等和当时环境有关的函数时,也会造成数据的不一致
row类型
binlog_row_image参数需要设置为full,不然不会记录所有字段信息,只会记录能够表示一行的字段,从而导致无法使用其进行数据恢复
优点:在row模式下,bin-log中可以不记录执行的sql语句的上下文相关信息,仅仅需要记录哪一条记录被修改了,修改成什么信样了,
所以row的日志内容会非常清楚的记录下每一行数据修改的细节,非常容易理解。而且不会出现在某些特定情况下的存储过程和function,以及trigger的调用和处罚无法被正确问题。 缺点:在row模式下,所有执行的语句当记录到日志中的时候,都将以每行记录的修改来记录,这样可能会产生大量的日志内容。
标签:binlog,面试题,show,记录,statement,mysql,row From: https://www.cnblogs.com/sxsheng/p/17220127.html