参数binlog_row_image设置MINIMAL,你今天被坑了吗?

今天网友"芬达"跟我讨论一个参数binlog_row_image,在什么场景下设置为MINIMAL,我以为这个案例颇有意义,尤为是在生产环境中,要慎重设置这个参数。mysql


首先这个MINIMAL,只会在binlog里记录被影响的行,而不能像默认的FULL同样,记录完整的变动前和变动后的全部记录,这里就会产生一个问题,数据被误更改,没法用mysqlbinlog等工具闪回,另外大数据那边用canal抽binlog,会形成数据不许确等一系列问题。sql


下面经过模拟实验,看看binlog里记录的内容。安全


表结构以下:
ide

1.png


里面的数据:
工具

2.png


此时,执行一条update变动操做:大数据

3.png


立刻看下binlog里面记录的内容:3d

4.png

注意看红色框部分的内容,变动前的完整原始数据并无被记录,固没法闪回。
orm


虽然MINIMAL能够减小binlog的文件大小(binlog_format = ROW),下降磁盘IO,但从数据安全角度来看,这将是危险的!blog


这里感谢网友"芬达"提供素材。it

相关文章
相关标签/搜索