16.2.4 Relay Log and Replication Applier Metadata Repositories
A replica server creates several repositories of information to use for the replication process:
The relay log, which is written by the replication I/O thread, contains the transactions read from the replication source server's binary log. The transactions in the relay log are applied on the replica by the replication SQL thread. For information about the relay log, see Section 184.108.40.206, “The Relay Log”.
The replication connection metadata repository contains information that the replication I/O thread needs to connect to the replication source server and retrieve transactions from the source's binary log. The replication connection metadata repository is written to the
mysql.slave_master_infotable or to a file.
The replication applier metadata repository contains information that the replication SQL thread needs to read and apply transactions from the replica's relay log. The replication applier metadata repository is written to the
mysql.slave_relay_log_infotable or to a file.
The replication connection metadata repository and the replication applier metadata repository are collectively known as the replication applier metadata repositories. For information about these, see Section 220.127.116.11, “Replication Applier Metadata Repositories”.
Making replication resilient to unexpected halts. The
mysql.slave_relay_log_info tables are created using the transactional storage engine
InnoDB. Updates to the replication applier metadata repository table are committed together with the transactions, meaning that the replica's progress information recorded in that repository is always consistent with what has been applied to the database, even in the event of an unexpected server halt. The
--relay-log-recovery option must be enabled on the replica to guarantee resilience. For more details, see Section 16.3.2, “Handling an Unexpected Halt of a Replica”.