文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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 设置了 0 值,则必须重新启动服务器才能使用新的非零服务器 ID 初始化源。否则,更改服务器 ID 时无需重新启动服务器,除非您进行了需要重新启动服务器的其他配置更改。

源上需要二进制日志记录,因为二进制日志是将更改从源复制到其副本的基础。默认情况下启用二进制日志记录(log_bin 系统变量设置为 ON)。--log-bin 选项告诉服务器使用什么基本名称来命名二进制日志文件。建议您指定此选项以使用非默认的基本名称来命名二进制日志文件,这样即使主机名发生更改,您也可以轻松地继续使用相同的二进制日志文件名(请参阅 第 B.3.7 节,“已知 MySQL 问题”)。如果以前使用 --skip-log-bin 选项在源上禁用了二进制日志记录,则必须在不使用此选项的情况下重新启动服务器以启用它。

注意

以下选项也会影响源

  • 为了在使用 InnoDB 进行事务的复制设置中获得最大的持久性和一致性,您应该在源的 my.cnf 文件中使用 innodb_flush_log_at_trx_commit=1sync_binlog=1

  • 确保在源上未启用 skip_networking 系统变量。如果禁用了网络,则副本无法与源通信,复制将失败。