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

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

Each replication slave must have a unique server ID. If this has not already been done, this part of slave setup requires a server restart.

If the slave server ID is not already set, or the current value conflicts with the value that you have chosen for the master server, shut down the slave server and edit the [mysqld] section of the configuration file to specify a unique server ID. For example:


After making the changes, restart the server.

If you are setting up multiple slaves, each one must have a unique server-id value that differs from that of the master and from any of the other slaves.


If you omit server-id (or set it explicitly to its default value of 0), the slave refuses to connect to a master.

You do not have to enable binary logging on the slave for replication to be set up. However, if you enable binary logging on the slave, you can use the slave's binary log for data backups and crash recovery, and also use the slave as part of a more complex replication topology. For example, where this slave then acts as a master to other slaves.

Download this Manual
User Comments
  Posted by Hugues Joyal on January 29, 2011
In the mysql.log file it's say that we need to setup relay-log in case the server hostname change.

# Replication

  Posted by Richard Lynch on November 4, 2011
WARNING: My fail-over experience is very tiny, despite using MySQL for dozens of sites with zero budget for decades...

Maybe I'm missing something, but unless you set the log-bin=mysql-bin to the SAME value as you set in the Master Setup[1] instructions, your slave isn't really ready to become the new master when you fail-over.

At least, that's what my one experiment so far has shown.

And when I changed the log-bin on the slave to match and re-started, any queries that happened in between didn't make it back to the former-master/new-slave when I started that back up.

So I believe these Master Setup and Slave Setup should both have log-bin=xyz values that match in these docs, or leave them out and use the defaults.

But don't document one and not the other, making readers think they can change it only on the Master setup.

Please forgive me if I'm just completely off-base. Will experiment more and try to give a Beginner's Guide in a blog.

It seems like there are so many options and scenarios being documented here, that the baseline "HowTo" is obscured by the "gothcas" and "edge cases" and "if this, then that" docs...

I'm not unwilling to help, once I actually plow through it for myself :-)


  Posted by Stephen Wylie on January 25, 2012
You should also put


into your my.cnf on the slave, so that the 'show slave hosts' command will work on the master.
Sign Up Login You must be logged in to post a comment.