MySQL 8.4 Release Notes
19.2.4 Relay Log 和 复制 Metadata Repositories
复制服务器创建了多个信息仓库,以便用于复制过程:
-
复制服务器的中继日志,由复制 I/O(receiver)线程写入,包含从源服务器的二进制日志中读取的交易。中继日志中的交易由复制 SQL(applier)线程在复制服务器上应用。关于中继日志的信息,请见第19.2.4.1节,“The Relay Log”。
-
复制服务器的连接元数据仓库包含了复制 receiver 线程需要连接到源服务器并从源服务器的二进制日志中检索交易的信息。连接元数据仓库写入到
mysql.slave_master_info
表中。 -
复制服务器的应用元数据仓库包含了复制 applier 线程需要读取和应用交易的信息。应用元数据仓库写入到
mysql.slave_relay_log_info
表中。
复制服务器的连接元数据仓库和应用元数据仓库统称为复制元数据仓库。关于这些,请见第19.2.4.2节,“Replication Metadata Repositories”。
使复制变得对意外中断的。 mysql.slave_master_info
和mysql.slave_relay_log_info
表使用事务存储引擎InnoDB
创建。对复制服务器的应用元数据仓库的更新与事务一起提交,这意味着复制服务器的进度信息记录在该仓库中总是与已经应用到数据库的一致,即使在意外服务器中断的情况下。关于复制服务器的组合设置最具抗意外中断能力,请见第19.4.2节,“Handling an Unexpected Halt of a Replica”。