MySQL 8.4 Release Notes
19.1.2.1 设置复制源配置
要使用基于二进制日志文件的位置来配置源,您必须确保启用二进制日志记录,并为每个服务器分配唯一的服务器ID。
在复制拓扑结构中,每个服务器都必须被配置为具有唯一的服务器ID,可以使用server_id
系统变量指定该ID。该服务器ID用于标识复制拓扑结构中的每个服务器,并且必须是一个正整数,范围在1到(232)−1之间。默认的server_id
值为1;您可以在运行时通过发出以下语句来更改该值:
SET GLOBAL server_id = 2;
服务器ID的选择和组织是任意的,只要每个服务器ID都不同于其他服务器ID在复制拓扑结构中使用的ID。请注意,如果之前将服务器ID设置为0,您必须重新启动服务器以初始化源与新的非零服务器ID。否则,在更改服务器ID时,不需要重新启动服务器,除非您还更改了其他配置项。
在源上启用二进制日志记录,因为二进制日志是复制变化从源到副本的基础。二进制日志记录默认启用(log_bin
系统变量设置为ON)。--log-bin
选项告诉服务器使用什么基础名称来命名二进制日志文件。建议您指定该选项,以便在主机名更改时可以继续使用相同的二进制日志文件名(见第B.3.7节,“MySQL中的已知问题”)。如果在源上之前禁用了二进制日志记录使用--skip-log-bin
选项,您必须重新启动服务器以启用它。
Note
以下选项也对源产生影响:
-
为了在使用
InnoDB
事务存储引擎的复制设置中实现最大可能的耐用性和一致性,您应该在源的my.cnf
文件中使用innodb_flush_log_at_trx_commit=1
和sync_binlog=1
。 -
确保在源上禁用
skip_networking
系统变量。如果网络已经禁用,副本无法与源通信,复制失败。