Replication allows data to be shared between multiple MySQL databases. The master database records all changes in binary logs which are used to replicate data to slave databases. Slaves pull data from the master's binary logs and execute the same statements locally to match the master's data. This allows for high availability, load balancing, and off-site processing capabilities.