注意区分:在一开始的时候,有讲到备份和还原,有详细提到两个命令 mysqldump 和 mariabackup,用于备份(Backing Up)

repelication 基础简介

replication 概述

复制(Replication)是一个允许一个或多个主(master)服务器的内容镜像复制到一个或多个从(slave)服务器上的特性。

可以控制要复制的数据:所有数据库、一个或多个数据库或数据库中的表。

复制中使用的主要机制是二进制日志(binary log)。如果启用了二进制日志记录,则数据库的所有更新(数据操作和数据定义)都将作为 binlog 事件写入二进制日志。从服务器(Slaves)从每个主机(each master)读取二进制日志,以便访问要复制的数据。中继日志(relay log)是在从属服务器上创建的,使用与二进制日志相同的格式,用于执行复制。旧的中继日志文件将在不再需要时被删除。

从服务器保持轨迹(track)在主服务器的 binlog 中记录的最后一次应用到从服务器的事件的位置。这就可以允许从服务器重新连接,并从临时停止后中断的位置恢复复制操作。它还允许从服务器断开连接、克隆,然后从同一主服务器恢复新的从服务器复制。

主从服务器之间不需要持续通讯(constant communication)。服务器脱机或断开与网络的连接情况很常见,但当它们重连时,复制将在中断的地方继续执行。

replication 用途

可扩展性(Scalability)。通过拥有一个或多个从属服务器,可以将读取分散到多个服务器上,从而减少主服务器上的负载。对于高读、低写环境,最常见的情况是有一个主节点,所有的写操作都在其中进行,复制到多个从节点,这些从节点处理大部分的读操作。

数据分析(Data analysis)。分析数据可能会对主服务器产生太大的影响,这同样可以在从属服务器上处理,而主服务器继续不受额外负载的影响。

备援(Backup assistance)。如果服务器不主动更改数据,备份(Backups)可以更轻松地运行。一个常见的场景是将数据复制到从属服务器,然后在数据处于稳定状态时从主服务器断开连接。然后从该服务器执行备份。

数据分发(Distribution of data)。与其连接到远程主机,还可以在本地复制数据,并从该数据开始工作。

通用的复制设定 Common Replication Setups

标准复制 Standard Replication

特点:

  • 提供无限的读取横向扩展。
  • 通过将从机(Slave)升级为主机(Master)来提供高可用性。

标准复制示意图

环状复制 Ring Replication

特点:

  • 提供读写缩放(scaling)。
  • 不处理冲突。
  • 如果一个主服务器发生故障,复制将停止。

环状复制示意图

星状复制 Star Replication

特点:

  • 提供读写缩放。
  • 不处理冲突。
  • 必须使用复制过滤器以避免重复数据。

星状复制示意图

多源复制 Multi-Source Replication

特点:

  • 允许合并来自不同来源的数据。
  • 在所有的从服务器上,不同域独立并行执行。

多源复制示意图