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

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

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

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

表结构如下:

里面的数据:

此时,执行一条update变更操作:

马上看下binlog里面记录的内容:

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

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

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

原文地址:http://blog.51cto.com/hcymysql/2143391

时间: 2024-10-12 03:52:48

参数binlog_row_image设置MINIMAL,你今天被坑了吗?的相关文章

web.xml中servlet初始化参数的设置

<context-param><param-name>param1</param-name><param-value>value1</param-value></context-param><context-param><param-name>param2</param-name><param-value>value2</param-value></context-pa

android震动的参数怎么设置

============问题描述============ 怎么设置振动的参数可以使振动强大变大,像系统来电时那样. mVibrator01 = (Vibrator) getApplication().getSystemService(Service.VIBRATOR_SERVICE); mVibrator01.vibrate(new long[] { 400, 800, 1200, 1600 }, 0); 参数怎么设置振动比较强. ============解决方案1============ lo

mysql基础--global参数和session参数的设置

1.修改my.ini配置文件,如果要设置全局参数最简单的方式是在my.ini文件中直接写入参数配置,如下图所示.重启数据库服务就可以使全局参数生效. 如下图所示,所有新开的session中的参数都生效了 2.在不修改配置文件的基础上,设置全局参数,set global autocommit=1;将autocommit参数的值设置为ON 其他session窗口中的参数也没有生效 由上图可以看出设置了全局参数,但是查询出来的autocommit参数还是没有发生变化.是我们设置失败了吗?不是的,此时需

MySQL优化:mysql服务运行参数的设置

可以用管理员登录在mysql>命令行下设置,设置是临时的. 如果希望永久生效,则要修改/etc/my.cnf文件中的[mysqld]下相关参数: #vim /ect/my.cnf [mysqld] -- 下面详细讲解相关运行参数的设置: 1.并发连接数设置    max_connections 最大并发连接数的设置公式:曾经有过的最大连接数/要设置的最大连接数*100%约等于85%时是合适的,15%应付突发访问量 mysql> show  variables like  "max_c

如何把in_array 的第三个参数strict设置为 true

var_dump(in_array(0, array('s' )); 这句话的结果是bool(true). 因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php教程 manual 中"comparison operators" 一章的说明可知,number 和string进行 比较的时候,会先将string类型首先转化为number,然后再进行比较操作. 's'转化为number的结果为0,而0 == 0 的结果是true,所以in

通过nfs网络文件系统启动tiny6410开发板时uboot启动参数的设置 &nbsp;

通过nfs网络文件系统启动tiny6410开发时uboot启动参数应该设置为: console=ttySAC0 lcd=S70 root=/dev/nfs nfsroot=192.168.1.30:/opt/tiny6410/fs/rootfs_mini6410 ip=192.168.1.40:192.168.1.30:192.168.1.30:255.255.255.0:tiny6410:eth0:off 注意:这里一定要指明你的lcd的类型,不然通过nfs成功启动tiny6410时,你的lc

个人经验 - Android的RelativeLayout布局的layout_height属性设置为wrap_content时的坑

Android的RelativeLayout布局的layout_height属性设置为wrap_content时的坑: 此坑出现的条件: 1.RelativeLayout布局的layout_height属性设置为wrap_content 2.某“居中View”设置为layout_centerX(layout_centerVertical.layout_centerHorizontal.layout_centerInParent) 3.其它View相对于“居中View”做布局 此时坑出现了: 无论

RMAN参数常用设置

查看RMAN所有配置 RMAN> show all; RMAN configuration parameters for database with db_unique_name ORACLE007 are: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;                             ------备份文件默认保存为7天(如果不需覆盖也可能保存超过7天) CONFIGURE BACKUP OPTIMIZA

关于MySql链接url参数的设置

mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]... 常用的几个较为重要的参数: 参数名称 参数说明 缺省值 最低版本要求 user 数据库用户名(用于连接数据库) 所有版本 passWord 用户密码(用于连接数据库) 所有版本 useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gb