#### 17.1.2.1设置复制源配置

要将源配置为使用基于二进制日志文件位置的复制，必须确保启用了二进制日志记录，并建立唯一的服务器ID。

复制拓扑中的每台服务器都必须配置唯一的服务器ID，您可以使用[`服务器id`](replication-options.html#sysvar_server_id)系统变量。此服务器ID用于标识复制拓扑中的各个服务器，必须是介于1和（2）之间的正整数<sup>32</sup>)−1.默认值[`服务器id`](replication-options.html#sysvar_server_id)MySQL 8.0的值为1。你可以改变主意[`服务器id`](replication-options.html#sysvar_server_id)通过发出如下语句来动态计算值：

```
SET GLOBAL server_id = 2;
```

您可以选择如何组织和选择服务器ID，只要每个服务器ID与复制拓扑中任何其他服务器使用的每个其他服务器ID不同。请注意，如果以前为服务器ID设置了值0（这是早期版本中的默认值），则必须重新启动服务器，以使用新的非零服务器ID初始化源。否则，更改服务器ID时不需要重新启动服务器，除非进行了其他需要的配置更改。

源上需要二进制日志记录，因为二进制日志是将更改从源复制到其副本的基础。默认情况下启用二进制日志记录（[`木箱`](replication-options-binary-log.html#sysvar_log_bin)系统变量设置为ON）。这个[`--木箱`](replication-options-binary-log.html#option_mysqld_log-bin)选项告诉服务器二进制日志文件的基本名称。建议您指定此选项，为二进制日志文件提供非默认的基本名称，以便在主机名更改时，可以轻松地继续使用相同的二进制日志文件名（请参阅）[B.3.7节，“MySQL中的已知问题”](known-issues.html))。如果以前使用[`--跳过日志箱`](replication-options-binary-log.html#option_mysqld_log-bin)选项，则必须在不使用此选项的情况下重新启动服务器才能启用它。

笔记

以下选项也会对来源产生影响：

-   在复制设置中使用[`InnoDB`](innodb-storage-engine.html)对于事务，您应该使用`innodb_flush_log_at_trx_commit=1`和`sync_binlog=1`在消息来源的`我的cnf`文件

-   确保[`跳过网络`](server-system-variables.html#sysvar_skip_networking)源上未启用系统变量。如果禁用了网络，复制副本将无法与源通信，复制将失败。
