16.1.1 基于二进制日志文件位置的复制配置概述

本节介绍了基于二进制日志文件位置方法的 MySQL 服务器之间的复制,其中作为源(数据库更改源自此)的 MySQL 实例将更新和更改作为“事件”写入二进制日志。二进制日志中的信息根据所记录的数据库更改以不同的日志记录格式存储。将副本配置为从源读取二进制日志,并在副本的本地数据库上的二进制日志中执行事件。

每个副本都接收二进制日志的全部内容的副本。副本负责确定应执行二进制日志中的哪些语句。除非另有说明,否则源二进制日志中的所有事件都在副本上执行。如果需要,可以将副本配置为仅处理适用于特定数据库或 table 的事件。

Important

您不能将源配置为仅记录某些事件。

每个副本均记录二进制日志坐标:从源读取并处理的文件名和文件中的位置。这意味着可以将多个副本连接到源并执行同一二进制日志的不同部分。由于副本控制着此过程,因此可以在不影响源操作的情况下将单个副本连接到服务器或从服务器断开连接。同样,由于每个副本都将当前位置记录在二进制日志中,因此副本可能会断开连接,重新连接然后恢复处理。

必须为源和每个副本配置唯一的 ID(使用server_id系统变量)。此外,必须为每个副本配置有关源主机名,日志文件名以及该文件内位置的信息。可以使用副本上的更改为主语句在 MySQL 会话中控制这些详细信息。详细信息存储在副本的源元数据存储库中,该存储库可以是文件或 table(请参见第 16.2.4 节“中继日志和复制应用程序元数据存储库”)。