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

On a replication slave, you must establish 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, you should shut down your slave server and edit the configuration 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 each of the other slaves. Think of server-id values as something similar to IP addresses: These IDs uniquely identify each server instance in the community of replication partners.


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

You do not have to enable binary logging on the slave for replication to be enabled. However, if you enable binary logging on the slave, you can use the binary log for data backups and crash recovery on the slave, and also use the slave as part of a more complex replication topology (for example, where the slave 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.