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