副本服务器创建多个信息存储库以用于复制过程:
副本的中继日志由复制 I/O 线程写入,包含从复制源服务器的二进制日志中读取的事务。中继日志中的事务由复制 SQL 线程应用于副本。有关中继日志的信息,请参阅第 17.2.2.1 节,“中继日志”。
副本的连接元数据存储库包含复制 I/O 线程连接到复制源服务器并从源的二进制日志中检索事务所需的信息。连接元数据存储库被写入
master.info
文件或mysql.slave_master_info
表。副本的应用程序元数据存储库 包含复制 SQL 线程从副本的中继日志读取和应用事务所需的信息。应用程序元数据存储库被写入
relay-log.info
文件或mysql.slave_relay_log_info
表。
连接元数据存储库和应用程序元数据存储库统称为复制元数据存储库。有关这些的信息,请参阅 第 17.2.2.2 节,“复制元数据存储库”。
mysql.slave_master_info
和
mysql.slave_relay_log_info
表是使用事务存储引擎创建
的InnoDB
。对副本的应用程序元数据存储库表的更新与事务一起提交,这意味着记录在该存储库中的副本进度信息始终与已应用到数据库的内容一致,即使在服务器意外停机的情况下也是如此。--relay-log-recovery
必须在副本上启用该
选项以保证弹性。有关详细信息,请参阅
第 17.3.2 节,“处理副本服务器的意外停止”。