MySQL Internals Manual  /  The Binary Log  /  Source Files Related to the Binary Log

20.3 Source Files Related to the Binary Log

This section describes the files in a MySQL source tree that are most relevent to binary log processing.

sql directory:

  • log.h / The high-level binary logging mechanism for organizing events into a sequence so that it becomes a binary log. Routines for creating, writing, deleting binary log files.

  • log_event.h / The low-level binary logging mechanism for serializing of values into records. The Log_event class and subclasses, for creating, writing, reading, printing, and applying events of every event type. Reading and writing here is at a low level, that is, serializing values into records.

  • rpl_constants.h : Contains codes for INCIDENT_EVENT incident types.

  • : Contains some logic for processing binary logs in a replication slave (the IO and SQL threads).

  • rpl_injector.h / Contains the injector class that allows external insertions into the binary log. This is used for cluster replication binary logging.

  • rpl_record.h / Utilities for encoding and decoding table rows into and out of the format used by row events.

  • rpl_tblmap.h / Contains a mapping from numbers to tables. The mapping is used by the row logging system to identify tables.

  • rpl_utility.h / Contains auxiliary classes and functions used for Table_map_events, and also an auxiliary class for smart pointers

  • : Code to execute BINLOG statements (the base64-encoded values that mysqlbinlog prints when it sees row events).

  • : The function decide_logging_format() that determines whether statements should be written to the binary log using row-based or statement-based format.

client directory:

  • : The source for the mysqlbinlog utility that reads binary log files and displays them in text format. It shares some event-interpretation code with the server.