Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual Excerpts from this Manual

MySQL 5.7 Reference Manual  /  ...  /  Setting the Replication Master Configuration Setting the Replication Master Configuration

On a binary log based replication master, 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 master because the binary log is the basis for replicating changes from the master to its slaves. 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:


After making the changes, restart the server.


The following options have an impact on this procedure:

  • if you omit server-id (or set it explicitly to its default value of 0), the master refuses any connections from slaves.

  • 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 master my.cnf file.

  • Ensure that the skip-networking option is not enabled on your replication master. If networking has been disabled, the slave can not communicate with the master and replication fails.

Download this Manual
User Comments
  Posted by Adi Ben Dahan on June 30, 2010
if your master is also a slave (DB1 is the master of DB2, DB2 is the master of DB3) in order for DB2 to log updates from his master DB1 to the binlog (so DB3 can read them) you need to put "log-slave-updates" on my.cnf or my.ini
  Posted by Yannick Warnier on February 24, 2011
On some systems (like Debian/Ubuntu), the skip-networking setting has been replaced by setting bind-address to
To allow for a slave, you will have to make sure that the slave's address or hostname is matched by the bind-address setting. See for bind-address details.
Sign Up Login You must be logged in to post a comment.