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开始支持基于行的复制,这种方式会将实际数据记录在二进制日志中,跟其他数据库的实现比较相像。最大的好处是可以正确的复制每一行。一些语句可以被更加有效的复制。
  • 相关阅读:
    打印杨辉三角(直角) 练习
    数组 for 练习
    数组排序 (转)
    java如何获取从键盘输入多个数字,并计算平均数 (转)
    Eclipse快捷键 (转) 待续
    输入首字母判断周几(有瑕疵) 练习
    在java中如何用键盘输入一个数,字符,字符串 (转)
    Java中获取键盘输入值的三种方法 (转)
    Java 位运算(移位、位与、或、异或、非) (转)
    3.4 编程式路由
  • 原文地址:https://www.cnblogs.com/zhishuiyushi/p/12584409.html
Copyright © 2011-2022 走看看