文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  复制  /  复制实现

19.2 复制实现

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

每个连接到源的副本都请求二进制日志的副本。也就是说,它从源拉取数据,而不是源将数据推送到副本。副本还会执行接收到的二进制日志中的事件。这具有重复原始更改(与它们最初在源上进行的方式完全相同)的效果。表将被创建或其结构将被修改,数据将根据最初在源上进行的更改进行插入、删除和更新。

由于每个副本都是独立的,因此从源的二进制日志中重放更改在连接到源的每个副本上独立地发生。此外,由于每个副本仅通过从源请求来接收二进制日志的副本,因此副本能够以自己的速度读取和更新数据库副本,并且可以随意启动和停止复制过程,而不会影响源或副本侧更新到最新数据库状态的能力。

有关复制实现细节的更多信息,请参见第 19.2.3 节,“复制线程”.

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

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

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