The easiest and most straightforward method for setting up replication is to use new master and slave servers.
You can also use this method if you are setting up new servers but have an existing dump of the databases from a different server that you want to load into your replication configuration. By loading the data into a new master, the data will be automatically replicated to the slaves.
To set up replication between a new master and slave:
Configure the MySQL master with the necessary configuration properties. See Section 17.1.1.1, “Setting the Replication Master Configuration”.
Start up the MySQL master.
Set up a user. See Section 17.1.1.3, “Creating a User for Replication”.
Obtain the master status information. See Section 17.1.1.4, “Obtaining the Replication Master Binary Log Coordinates”.
On the master, release the read lock:
mysql>
UNLOCK TABLES;On the slave, edit the MySQL configuration. See Section 17.1.1.2, “Setting the Replication Slave Configuration”.
Start up the MySQL slave.
Execute a
CHANGE MASTER TOstatement to set the master replication server configuration. See Section 17.1.1.10, “Setting the Master Configuration on the Slave”.
Perform the slave setup steps on each slave.
Because there is no data to load or exchange on a new server configuration you do not need to copy or import any information.
If you are setting up a new replication environment using the data from a different existing database server, you will now need to run the dump file generated from that server on the new master. The database updates will automatically be propagated to the slaves:
shell> mysql -h master < fulldb.dump
I was a bit confused over this section since it talks about new servers and existing data in a way that to me was a bit similar to the other sections that talk about loading a snapshot on the slave and then starting replication from a specific binlog position.
The scheme above is intended to work only on new servers, which are either empty, or loaded with data from a sqldump file. The replication starts when the server is at zero and then the statements loaded from the dump file are replicated as the binlog starts filling.
The above scheme should also work for setting up replication against servers that have all the binlogs in place, i.e. hasn't deleted any of them. Deleting binlogs may be done after backing up the databases to preserve space.
Also, I think that there could be some more information on what configuration should be done in CHANGE MASTER on the slave as suggested in step 8.