关于不同的MySQL复制解决方案概述

  

  我在解决方案团队工作多年,发现数据库复制总是被误解,甚至有些人根本完全不理解,所以本文将来回顾一下MySQL环境中的复制概念,并且澄清一些大家对于复制的误解。   

  

  <强>   什么是复制?      

  

  复制:保证信息被复制并有目的地填充到另一个环境中,而不是仅存储在一个位置(基于源环境的事务)。如果更白话一点来说就是在您的基础架构上使用辅助服务器来读取或使用其他管理解决方案。   

  

  下图展示了MySQL复制环境的示例。   

  

  关于不同的MySQL复制解决方案概述”>
  </p>
  <p>
  如果我们把范围缩小到MySQL中,那么在复制时我们有几种选择呢?
  </p>
  <p>
  <强>
  标准异步复制
  </强>
  </p>
  <p>
  异步复制意味着事务完全在本地环境中完成,并且不受复制从属本身的影响。完成更改后,主服务器将使用数据修改或实际语句(基于行的复制或基于语句的复制之间的差异会在之后讲)填充二进制日志。此转储线程读取二进制日志并将其发送到从输入输出线程。从站使用其输入输出线程将其置于自己的预处理队列(称为中继日志)中。从站使用SQL线程执行从站数据库上的每个更改。
  </p>
  <p>
  <img src=   <李>   

  Percona MySQL服务器   

  李   <李>   

  Percona XtraBackup用于执行正在运行的集群的快照(正在恢复或添加节点)。   

  李   <李>   

  wsrep补?Galera库   

  李      

  该解决方案几乎是同步的,可与组复制相媲美。但是,它还具有使用多主复制的功能。像Percona XtraDB集群这样的解决方案是提高数据库基础架构可用性的一个组件。   

  

  关于不同的MySQL复制解决方案概述”>
  <h2 class=关于不同的MySQL复制解决方案概述