Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-7794

MySQL 8.x and binlog_row_metadata = FULL

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • Backlog
    • None
    • mysql-connector
    • None
    • False
    • None
    • False

      Hello,

      I have read that starting from MySQL 8 the binlog contains more information about the table being modified in the Table_map even, priors to any insert/update event. In full mode
      set global binlog_row_metadata = FULL, all metadata are present, see for example:
       

      insert into test (id, c1, c3) values (8, 0, 'bye'); 

      from the binlog:
       

      #240419  9:35:26 server id 1  end_log_pos 1509 CRC32 0x1dab5f9b     Table_map: `mydb`.`test` mapped to number 90
      # has_generated_invisible_primary_key=0
      # Columns(`id` INT NOT NULL,
      #         `c1` BIT(1),
      #         `c3` TEXT CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci)
      # Primary Key(id)
      # at 1509
      #240419  9:35:26 server id 1  end_log_pos 1555 CRC32 0x2571c7db     Write_rows: table id 90 flags: STMT_END_FBINLOG '
      vh4iZhMBAAAATQAAAOUFAAAAAFoAAAAAAAEABG15ZGIABHRlc3QAAwMQ/AMBAAIGAQEAAgP8/wAE
      CQJpZAJjMQJjMwgBAAwB4Jtfqx0=
      vh4iZh4BAAAALgAAABMGAAAAAFoAAAAAAAEAAgAD/wAIAAAAAAMAYnll28dxJQ==
      '/*!*/;
      ### INSERT INTO `mydb`.`test`
      ### SET
      ###   @1=8
      ###   @2=b'0'
      ###   @3='bye'
      # at 1555
      #240419  9:35:26 server id 1  end_log_pos 1586 CRC32 0x7188858d     Xid = 281
      COMMIT/*!*/; 

       
      Thank you.
      Best regards,
      Emmanuel

            Unassigned Unassigned
            ebrard Emmanuel Brard
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: