Replication is based on the master sen/er keeping track of all changes to its databases (updates,
deletes, and so on) in its binary log. The binary log serves as a written record of all events that modify
database structure or content (data) from the moment the server was started. Typically, SELECT
statements are not recorded because they modify neither database structure nor content.
Each slave that connects to the master requests a copy of the binary log. That is, it pulls the data from
the master, rather than the master pushing the data to the slave. The slave also executes the events
from the binary log that it receives. This has the effect of repeating the original changes just as they
were madę on the master. Tables are created or their structure modified, and data is inserted, deleted,
and updated according to the changes that were originally madę on the master. Because each slave is independent, the replaying of the changes from the master’s binary log occurs
independently on each slave that is connected to the master. In addition, because each slave receives
a copy of the binary log only by requesting it from the master, the slave is able to read and update
the copy of the database at its own pace and can start and stop the replication process at will without
affecting the ability to update to the latest database status on either the master or slave side.
For morę information on the specifics of the replication implementation, see Section 16.2.1,
“Replication Implementation Details”.
Masters and slaves report their status in respect of the replication process regularly so that you can
monitor them. See Section 8.12.5, “Examining Thread Information", for descriptions
of all replicatedrelated
States.
The master binary log is written to a local relay log on the slave before it is processed. The slave also
records information about the current position with the master's binary log and the local relay log. See
Section 16.2.2, “Replication Relay and Status Logs".
Database changes are filtered on the slave according to a set of rules that are applied according to the
various configuration options and variablesthat control event evaluation. For details on howthese rules
are applied, see Section 16.2.3, "HowServers Evaluate Replication Filtering Rules".