副本服务器创建多个信息存储库以用于复制过程:
副本的中继日志由复制 I/O(接收方)线程写入,包含从复制源服务器的二进制日志中读取的事务。中继日志中的事务由复制 SQL(应用程序)线程应用于副本。有关中继日志的信息,请参阅 第 17.2.4.1 节,“中继日志”。
副本的连接元数据存储库包含复制接收器线程连接到复制源服务器并从源的二进制日志检索事务所需的信息。连接元数据存储库被写入
mysql.slave_master_info
表中。副本的应用程序元数据存储库 包含复制应用程序线程需要从副本的中继日志读取和应用事务的信息。应用程序元数据存储库被写入
mysql.slave_relay_log_info
表中。
副本的连接元数据存储库和应用程序元数据存储库统称为复制元数据存储库。有关这些的信息,请参阅 第 17.2.4.2 节,“复制元数据存储库”。
使复制对意外停止具有弹性。 mysql.slave_master_info
和
mysql.slave_relay_log_info
表是使用事务存储引擎创建
的InnoDB
。对副本的应用程序元数据存储库表的更新与事务一起提交,这意味着记录在该存储库中的副本进度信息始终与已应用到数据库的内容一致,即使在服务器意外停机的情况下也是如此。有关对意外停止最具弹性的副本设置组合的信息,请参阅
第 17.4.2 节,“处理副本的意外停止”。