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 /log.cc: 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 /log_event.cc: 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.

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

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

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

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

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

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

  • sql_base.cc : 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:

  • mysqlbinlog.cc : 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.


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.