MySQL 9.0 发行说明
本节介绍基于二进制日志文件位置的 MySQL 服务器之间的复制,其中充当源的 MySQL 实例(发生数据库更改的位置)将更新和更改作为“事件”写入二进制日志。二进制日志中的信息根据正在记录的数据库更改以不同的日志记录格式存储。副本被配置为从源读取二进制日志,并在副本的本地数据库上执行二进制日志中的事件。
每个副本都会收到二进制日志的完整内容的副本。副本负责决定二进制日志中的哪些语句应该被执行。除非您另行指定,否则源的二进制日志中的所有事件都会在副本上执行。如果需要,您可以配置副本以仅处理适用于特定数据库或表的事件。
重要
您无法配置源以仅记录某些事件。
每个副本都会记录二进制日志坐标:它从源读取并处理的文件名和文件中的位置。这意味着多个副本可以连接到源并执行同一个二进制日志的不同部分。由于副本控制此过程,因此可以将单个副本连接和断开连接到服务器,而不会影响源的操作。此外,由于每个副本都记录了二进制日志中的当前位置,因此副本可以断开连接、重新连接,然后继续处理。
源和每个副本都必须使用唯一的 ID 配置(使用 server_id
系统变量)。此外,每个副本都必须使用有关源的主机名、日志文件名以及该文件中的位置的信息进行配置。这些细节可以在 MySQL 会话中使用 CHANGE REPLICATION SOURCE TO
语句在副本上进行控制。这些细节存储在副本的连接元数据存储库中(参见 第 19.2.4 节,“中继日志和复制元数据存储库”)。