zoukankan      html  css  js  c++  java
  • 高性能MySQL-第十章 复制(1)

    MySQL内建的复制功能是构建基于MySQL的大规模、高性能应用的基础,同时也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。

    复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上,备库本身也可以被配置成另外一台服务器的主库。主库和备库之间可以有多种不同的组合方式。
    MySQL支持两种复制方式:基于行的复制和基于语句的复制(逻辑复制)。这两种方式都是通过在主库上记录二进制日志、在备库重放日志的方式来实现异步的数据复制。
    复制比较常见的用途:
    数据分布
    负载均衡
    备份
    高可用性和故障切换
    MySQL升级测试
    复制有三个步骤:
    在主库上把数据更改记录到二进制日志(Binary Log)中(这些记录被称为二进制日志事件)。
    备库将主库上的日志复制到自己的中继日志(Relay Log)中。
    备库读取中继日志中的事件,将其重放到备库数据之上。
    1、配置复制
    为MySQL服务器配置复制,分为以下几步:
    在每台服务器上创建复制账号。
    配置主库和备库。
    通知备库连接到主库并从主库复制数据。
    1、复制的原理
    一、基于语句的复制
    在MySQL 5.0及之前的版本中只支持基于语句的复制(也称为逻辑复制)。基于语句的复制模式下,主库会记录那些造成数据更改的查询,当备库读取并重放这些事件时,实际上只是把主库上执行过的SQL再执行一遍。
    二、基于行的复制
    MySQL 5.1开始支持基于行的复制,这种方式会将实际数据记录在二进制日志中,跟其他数据库的实现比较相像。最大的好处是可以正确的复制每一行。一些语句可以被更加有效的复制。
  • 相关阅读:
    Understanding about Baire Category Theorem
    Isometric embedding of metric space
    Convergence theorems for measurable functions
    Mindmap for "Principles of boundary element methods"
    Various formulations of Maxwell equations
    Existence and uniqueness theorems for variational problems
    Kernels and image sets for an operator and its dual
    [loj6498]农民
    [luogu3781]切树游戏
    [atAGC051B]Three Coins
  • 原文地址:https://www.cnblogs.com/zhishuiyushi/p/12584409.html
Copyright © 2011-2022 走看看