On a replication source server, you must enable binary logging and establish a unique server ID. If this has not already been done, a server restart is required.
Binary logging must be enabled on the
source because the binary log is the basis for replicating
changes from the source to its replicas. If binary logging is
not enabled using the log-bin
option,
replication is not possible.
Each server within a replication group must be configured with a unique server ID. This ID is used to identify individual servers within the group, and must be a positive integer between 1 and (232)−1. How you organize and select the numbers is your choice.
To configure the binary log and server ID options, shut down the
MySQL server and edit the my.cnf
or
my.ini
file. Within the
[mysqld]
section of the configuration file,
add the log-bin
and
server-id
options. If these options already
exist, but are commented out, uncomment the options and alter
them according to your needs. For example, to enable binary
logging using a log file name prefix of
mysql-bin
, and configure a server ID of 1,
use these lines:
[mysqld]
log-bin=mysql-bin
server-id=1
After making the changes, restart the server.
If you do not set server_id
(or set it explicitly to its default value of 0), the source
refuses any connections from replicas.
For the greatest possible durability and consistency in a
replication setup using InnoDB
with
transactions, you should use
innodb_flush_log_at_trx_commit=1
and
sync_binlog=1
in the source
my.cnf
file.
Ensure that the
skip_networking
system
variable is not enabled on your replication source server. If
networking has been disabled, the replica can not communicate
with the source and replication fails.