MySQL的binlog_row_image

前言

从MySQL5.6开始binlog的同步模式便有了binlog_row_image,那这个参数能给binlog带来什么变化呢?我们一起看下。

CREATE TABLE `a` (
  `id` bigint(20) DEFAULT NULL,
  `a` varchar(128) DEFAULT NULL,
  `b` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> show global variables like 'binlog_row_image';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| binlog_row_image | FULL  |
+------------------+-------+

mysql> select * from a;
+------+--------------------+--------+
| id   | a                  | b      |
+------+--------------------+--------+
|    1 | full | bbbbbb |
|    2 | buduibudui         | 22222  |
+------+--------------------+--------+
2 rows in set (0.00 sec)
### UPDATE `test`.`a`
### WHERE
###   @1=1 /* LONGINT meta=0 nullable=1 is_null=0 */
###   @2='full2minimal' /* VARSTRING(384) meta=384 nullable=1 is_null=0 */
###   @3='bbbbbb' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
###   @4=1 /* LONGINT meta=0 nullable=0 is_null=0 */
### SET
###   @1=1 /* LONGINT meta=0 nullable=1 is_null=0 */
###   @2='full2minimal2' /* VARSTRING(384) meta=384 nullable=1 is_null=0 */
###   @3='bbbbbb' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
###   @4=1 /* LONGINT meta=0 nullable=0 is_null=0 */

### UPDATE `test`.`a`
### WHERE
###   @1=1 /* LONGINT meta=0 nullable=1 is_null=0 */
###   @2='full2minimal2' /* VARSTRING(384) meta=384 nullable=1 is_null=0 */
###   @3='bbbbbb' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
###   @4=1 /* LONGINT meta=0 nullable=0 is_null=0 */
### SET
###   @2='full2minimal' /* VARSTRING(384) meta=384 nullable=1 is_null=0 */

这个参数修改后只对新建的连接有效,老连接还是沿用老模式

原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值