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