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开始支持基于行的复制,这种方式会将实际数据记录在二进制日志中,跟其他数据库的实现比较相像。最大的好处是可以正确的复制每一行。一些语句可以被更加有效的复制。
  • 相关阅读:
    Visual Studio 2008 每日提示(十一)
    Visual Studio 2008 每日提示(十二)
    13 个应该记住的最不寻常的搜索引擎
    Web1.0及WEB2.0的比较
    Comparing Properties to Methods
    1
    Struct Constructor Restrictions
    简单的动态下拉菜单
    权限设计(转)
    conceptpolymorphism
  • 原文地址:https://www.cnblogs.com/zhishuiyushi/p/12584409.html
Copyright © 2011-2022 走看看