Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  Replication  /  Replication Implementation

19.2 复制实现

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

每个副本连接到源服务器时,请求二进制日志的副本。也就是说,它从源服务器拉取数据,而不是源服务器推送数据到副本。副本也执行从二进制日志接收到的事件。这使得原始更改在副本上重复执行,正如它们最初在源服务器上所做的那样。表被创建或其结构被修改,数据被插入、删除和更新,根据源服务器上最初所做的更改。

因为每个副本都是独立的,所以从源服务器的二进制日志的重放在每个副本上独立地发生。另外,因为每个副本只能通过从源服务器请求来获取二进制日志的副本,所以副本可以以自己的速度读取和更新数据库副本,并且可以随时启动和停止复制过程,而不会影响源服务器或副本上的数据库状态。

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

源服务器和副本服务器定期报告其复制状态,以便您可以监控它们。请参阅 第 10.14 节,“检查服务器线程(进程)信息”,以获取所有与复制相关的状态的描述。

源服务器的二进制日志被写入副本上的中继日志,然后被处理。副本也记录了当前在源服务器的二进制日志和本地中继日志中的位置。请参阅 第 19.2.4 节,“中继日志和复制元数据存储库”

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