MySQL系列(八) 复制

  • 16 复制

    • 概述

      复制(replication)是MySQL数据库提供的一种高可用高性能的解决方案,一般用来建立大型的应用。

    • 步骤

      • 主服务器(master)把数据更改记录到二进制日志(binlog)中
      • 从服务器(slave)把主服务器的二进制日志复制到自己的中继日志(relay log)中
      • 从服务器重做中继日志中的日志,把更改应用到自己的数据库上,以达到数据的最终一致性

    复制的工作原理并不复杂,其实就是一个完全备份加上二进制日志备份的还原。

    不同的是这个二进制日志的还原操作基本上实时在进行中。

    特别需要注意的是,复制不是完全实时地进行同步,而是异步实时。这中间存在主从服务器之间的执行延时,如果主服务器的压力很大,则可能导致主从服务器延时较大。

    • 复制结构图

       

    • 复制的主要功能

      • 数据分布。由于MySQL数据库提供的复制并不需要很大的带宽要求,因此可以在不同的数据中心之间实现数据的复制
      • 读取的负载平衡。通过建立多个从服务器,可将读取平均地分布到这些从服务器中,并且减少了主服务器的压力。一般通过DNS的Round-Robin和Linux的LVS功能都可以实现负载平衡。
      • 数据库备份。复制对备份很有帮助,但是从服务器不是备份,不能完全代替备份
      • 高可用性和故障转移。通过复制建立的从服务器有助于故障转移,减少故障的停机时间和恢复时间
    • 复制+快照结构图

       

posted @ 2019-05-04 23:32  Railg-Kai  阅读(103)  评论(0编辑  收藏  举报