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

On a replication master, you must enable binary logging and establish a unique server ID. If this has not already been done, this part of master setup requires a server restart.

Binary logging must be enabled on the master because the binary log is the basis for sending data changes from the master to its slaves. If binary logging is not enabled, replication will not be 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 entirely up to you.

To configure the binary log and server ID options, you will need to shut down your MySQL server and edit the my.cnf or my.ini file. Add the following options to the configuration file within the [mysqld] section. 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.


If you omit server-id (or set it explicitly to its default value of 0), a master refuses connections from all 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, your slave will not able to communicate with the master and replication will fail.

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.