(mysql.info.gz) Replication Implementation
Info Catalog
(mysql.info.gz) Replication Intro
(mysql.info.gz) Replication
(mysql.info.gz) Replication Implementation Details
6.2 Replication Implementation Overview
=======================================
MySQL replication is based on the master server keeping track of all
changes to your databases (updates, deletes, and so on) in the binary
logs. Therefore, to use replication, you must enable binary logging on
the master server. Binary log.
Each slave server receives from the master the saved updates that the
master has recorded in its binary log, so that the slave can execute the
same updates on its copy of the data.
It is *very important* to realize that the binary log is simply a
record starting from the fixed point in time at which you enable binary
logging. Any slaves that you set up will need copies of the databases on
your master as they existed at the moment you enabled binary logging on
the master. If you start your slaves with databases that are not the
same as what was on the master *when the binary log was started*, your
slaves may fail.
One way to copy the master's data to the slave is to use the `LOAD DATA
FROM MASTER' statement. Be aware that `LOAD DATA FROM MASTER' is
available only as of MySQL 4.0.0 and currently works only if all the
tables on the master are `MyISAM' type. Also, this statement acquires a
global read lock, so no updates on the master are possible while the
tables are being transferred to the slave. When we implement lock-free
hot table backup (in MySQL 5.0), this global read lock will no longer
be necessary.
Due to these limitations, we recommend that at this point you use
`LOAD DATA FROM MASTER' only if the dataset on the master is relatively
small, or if a prolonged read lock on the master is acceptable. While
the actual speed of `LOAD DATA FROM MASTER' may vary from system to
system, a good rule of thumb for how long it will take is 1 second per
1MB of data. That is only a rough estimate, but you should get close
to it if both master and slave are equivalent to 700MHz Pentium
performance and are connected through a 100MBit/s network.
After the slave has been set up with a copy of the master's data, it
will simply connect to the master and wait for updates to process. If
the master goes away or the slave loses connectivity with your master,
it will keep trying to connect periodically until it is able to
reconnect and resume listening for updates. The retry interval is
controlled by the `--master-connect-retry' option. The default is 60
seconds.
Each slave keeps track of where it left off. The master server has no
knowledge of how many slaves there are or which ones are up to date at
any given time.
Info Catalog
(mysql.info.gz) Replication Intro
(mysql.info.gz) Replication
(mysql.info.gz) Replication Implementation Details
automatically generated byinfo2html