Binlog (binary log)
MySQL's binary log that records all changes to data (and schema) as a sequence of events. The basis for replication, point-in-time recovery, and Change Data Capture — separate from InnoDB's redo log.
Key distinction: the binlog is at the server/logical level (what changed), while the redo log is InnoDB-internal (how pages changed physically). The binlog drives replication: a replica reads the primary's binlog and applies the events. Formats: STATEMENT (stores the SQL statement — compact but can be non-deterministic), ROW (stores the actual row changes — safe, the standard today), and MIXED. Also used for PITR (a base backup + replaying the binlog forward to a point in time) and CDC tools like Debezium (read the binlog to stream changes). GTID builds on top of the binlog for robust replication. One of MySQL's most central mechanisms. Related to GTID replication and CDC.