16.2 复制实施

复制基于复制源服务器,该服务器在其二进制日志中跟踪其数据库的所有更改(更新,删除等)。二进制日志充当所有事件的书面记录,从服务器启动之日起,所有事件都会修改数据库的结构或内容(数据)。通常,不记录SELECT语句,因为它们既不修改数据库结构也不修改内容。

连接到源的每个副本都请求二进制日志的副本。也就是说,它从源中提取数据,而不是从源中将数据推送到副本。副本还从收到的二进制日志中执行事件。这具有重复原始更改的效果,就像在源上所做的一样。将创建 table 或修改 table 的结构,并根据最初在源上所做的更改来插入,删除和更新数据。

因为每个副本都是独立的,所以从源的二进制日志中重放更改的操作独立于连接到源的每个副本上。此外,由于每个副本只能通过从源请求二进制日志的副本来接收副本,因此副本能够按照自己的步调读取和更新数据库副本,并且可以随意启动和停止复制过程而不会影响能够在源端或副本端更新到最新数据库状态。

有关复制实现的详细信息,请参阅第 16.2.2 节“复制实现的详细信息”

源和副本定期报告有关复制过程的状态,以便您可以监视它们。有关所有复制相关状态的说明,请参见第 8.14 节“检查服务器线程(进程)信息”

在处理副本之前,将源的二进制日志写入副本上的本地中继日志。副本还使用源的二进制日志和副本的中继日志记录有关当前位置的信息。参见第 16.2.4 节“中继日志和复制应用程序元数据存储库”

根据一组规则过滤副本上的数据库更改,这些规则是根据控制事件评估的各种配置选项和变量应用的。有关如何应用这些规则的详细信息,请参见第 16.2.5 节“服务器如何评估复制过滤规则”