在复制源服务器上,您必须启用二进制日志记录并建立唯一的服务器 ID。如果尚未完成此操作,则需要重新启动服务器。
必须在源上启用
二进制日志记录,因为二进制日志是将更改从源复制到其副本的基础。如果未使用该log-bin
选项启用二进制日志记录,则无法进行复制。
复制组中的每个服务器都必须配置一个唯一的服务器 ID。此 ID 用于标识组内的各个服务器,并且必须是 1 到 (2 32 )−1 之间的正整数。如何组织和选择数字是您的选择。
要配置二进制日志和服务器 ID 选项,请关闭 MySQL 服务器并编辑my.cnf
or
my.ini
文件。在
[mysqld]
配置文件的部分中,添加log-bin
和
server-id
选项。如果这些选项已经存在,但被注释掉了,请取消注释这些选项并根据您的需要进行更改。例如,要使用日志文件名前缀启用二进制日志记录
mysql-bin
,并将服务器 ID 配置为 1,请使用以下行:
[mysqld]
log-bin=mysql-bin
server-id=1
进行更改后,重新启动服务器。
如果您不设置server_id
(或将其显式设置为其默认值 0),源将拒绝来自副本的任何连接。
InnoDB
为了在使用事务
的复制设置中获得最大可能的持久性和一致性,您应该在源
文件
中使用innodb_flush_log_at_trx_commit=1
和
。sync_binlog=1
my.cnf
确保
skip_networking
系统变量未在您的复制源服务器上启用。如果网络已被禁用,则副本无法与源通信并且复制失败。