介绍
复制可以将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从属服务器)。默认情况下,复制是异步的从站不需要永久连接以从主站接收更新。您可以配置为复制数据库中的所有数据库,所选数据库甚至选定的表。
在服务器(主服务器)上执行的所有DDL和DML语句都会记录到binary log中,这些日志由连接到它的服务器(称为从服务器)提取。binary log只是复制到从站并保存为中继日志。该过程由称为IO线程的线程处理。还有一个称为SQL线程的线程,它按顺序执行中继日志中的语句。
- 横向扩展解决方案:可以在多个从站之间传播负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专用于更新),同时显着提高了越来越多的从设备的读取速度。
- 数据安全性:由于数据被复制到从站并且从站可以暂停复制过程,因此可以在从站上运行备份服务而不会破坏相应的主数据。
- 分析:可以在主服务器上创建实时数据,而信息的分析可以在从服务器上进行,而不会影响主服务器的性能。
- 远程数据分发:您可以使用复制为远程站点创建数据的本地副本,而无需永久访问主服务器。
Mysql8.0包含以下几种主从复制方式(高可用)
- Setting up replication
- Setting up master-master replication
- Setting up multi-source replication
- Setting up replication filters
- Switching a slave from master-slave to chain replication
- Switching a slave from chain replication to master-slave
- Setting up delayed replication
- Setting up GTID replication
- Setting up semi-synchronous replication
后面我将把每一种的配置方式详细讲解一遍,请查看相关页面