MySQL复制(replication)文档集合:

1.复制概述
2.基于二进制日志文件位置(binlog)配置复制
3.基于全局事物标识符(GTID)配置复制
4.多源复制
5.级联复制
6.半同步复制
7.延迟复制
8.复制过滤规则
9.对复制进行故障排除
10.故障切换
11.复制管理

(一)什么是复制

MySQL复制可以使数据从一台MySQL服务器(主服务器)复制到一台或多台MySQL服务器(从服务器),默认情况下,MySQL的复制是异步的,从服务器不需要永久连接就可以接收来自主服务器的更新。根据配置,可以对整个实例进行复制,也可以对单个db进行复制,还可以对某个表或多个表进行复制。

(二)复制的优点

MySQL复制的优点主要有:

  • 横向扩展数据库。通过复制,将写业务放在主数据库上,将读业务放到从数据库上,分散业务负载,提高业务性能;
  • 数据安全。主服务器发生crash,可以将从服务器切换为主服务器,减少宕机带来的损失;
  • 实时数据分析。信息分析可以在从数据库上进行,而不会影响主数据库的性能。

(三)复制的方法(二进制日志文件位置和GTID)

MySQL提供了基于二进制日志文件位置和GTID两种方法来配置复制。两种方法主要区别如下:

  • 基于二进制日志文件位置的复制:是传统的复制方法。通过从库已经应用到的日志文件的位置(master_log_file,master_log_pos)来确定从库开始同步的位置;
  • 基于GTID的复制:基于全局事物标识符(GTID)方式是较新的,基于事物进行复制,简化了复制的配置。

(四)复制的类型(基于语句的复制和基于行的复制)

MySQL复制主要有两种核心类型:基于语句的复制(SBR)和基于行的复制(RBR)。采用何种类型,主要取决于二进制日志的格式(ROW或Statement)。区别如下:

  • 基于语句的复制(SBR):主数据库执行了什么SQL语句(主要是DDL语句),从库上也执行相同的语句。优点是产生的二进制日志少,缺点是可能会产生主从数据不一样
  • 基于行的数据(RBR):仅复制发生更改的行数据。优点是主从数据库数据一致,缺点是二进制日志数据量较大。

通常在业务环境中,主从数据必须一致,因此强烈建议使用基于行的复制(RBR)。

(五)复制架构

最常用的复制架构有:一主一从、一主多从、级联复制、多主一从。架构图如下:

【完】

MySQL复制(一)--复制概述的更多相关文章

  1. (转)MySQL多源复制

    原文:https://dev.mysql.com/doc/refman/5.7/en/replication-multi-source.html MySQL多源复制概述 MySQL多源复制使复制从接受 ...

  2. MySQL主备复制原理、实现及异常处理

    复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...

  3. MySQL全同步复制基于GR集群架构实现(Centos7)

    目录 一. 理论概述 概述 二. 部署 向组加入新节点 测试 三.总结 一. 理论概述 概述 本案例操作的是针对于MySQL的复制类型中的全同步复制,对几种复制类型简单总结下: 异步复制:MySQL默 ...

  4. MySQL半同步复制

    从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认的复制即是 ...

  5. MySQL中快速复制数据表方法汇总

    本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: ...

  6. MySQL\MariaDB 多线程复制初探

    背景: MariaDB 在10.0.5就已经支持了并行复制的功能,即从库多线程复制的功能.MySQL最先在5.6.3中支持.目前暂时没有用MySQL5.6的版本,故暂时只对MariaDB进行一些说明, ...

  7. mysql主主复制(双主复制)配置步骤

    以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章.   MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...

  8. 分布式数据存储 - MySQL双主复制

    上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...

  9. MySQL 5.6 复制:GTID 的优点和限制(第一部分)

    全局事务标示符(Global Transactions Identifier)是MySQL 5.6复制的一个新特性.它为维护特定的复制拓扑结构下服务器的DBA们大幅度改善他们的工作状况提供了多种可能性 ...

随机推荐

  1. CentOS 7控制台屏幕分辨率问题

    我们在服务器上,很少会安装图形化界面,一般都使用字符界面的控制台.CentOS 下,控制台分辨率缺省情况下,变得很高,导致在显示器上花屏或者只能显示局部. 这是由于使用了frame buffer,好处 ...

  2. sqlserver数据将多个表或视图的数据合并到一个表或视图里的sql语句

    create view dbo.V_ZDUser_DDasselect * from dbo.V_ZDUser_DD1 union all select * from dbo.V_ZDUser_DD2 ...

  3. 【PAT甲级】1004 Counting Leaves (30 分)(BFS)

    题意:给出一棵树的点数N,输入M行,每行输入父亲节点An,儿子个数n,和a1,a2,...,an(儿子结点编号),从根节点层级向下依次输出当前层级叶子结点个数,用空格隔开.(0<N<100 ...

  4. 运营商如何关闭2G、3G网络?这事儿得从小灵通说起

    5G时代即将全面开启,主流声音是对未来的无限畅想--5G将带来翻天覆地的变化.不过凡事都有利弊两面性,5G作为新生事物固然大有可为,但不可避免地会对旧事物造成巨大冲击.除了会影响很多跟不上潮流发展的行 ...

  5. 解决CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64

    使用yun安装软件时有时会报repo文件的错误,, 主要问题出自于CentOS-Base.repo文件 解决方案:将这个文件后缀名修改使这个文件无效 [root@localhost ~]# cd /e ...

  6. [ DLPytorch ] 文本预处理&语言模型&循环神经网络基础

    文本预处理 实现步骤(处理语言模型数据集距离) 文本预处理的实现步骤 读入文本:读入zip / txt 等数据集 with zipfile.ZipFile('./jaychou_lyrics.txt. ...

  7. ajax方法详解

    $.ajax()常用参数的设置及其意义 $.ajax({ async:true, /*是否异步请求,用这对象的目的就是为了异步请求,所以此值一般不变,恒为true*/ cache:false, /*是 ...

  8. Flask - flask-mail

    flasky中git reset --hard 8e 问题 使用flask-mail通过163邮箱的smtp服务发送token认证邮件,要关闭TLS才能发送 原理 还在研究中 结果

  9. selenium webdriver 定位元素 第一部分

    static final WebDriver driver = ExplorerBase.IESetting(); // 实例化一个浏览器对象 @Test //@Ignore public void ...

  10. java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/

    出现这个异常原因可能很多: 1.编码问题 2.没有加载类驱动:换一种数据库的连接方式,就忘了这个:Class.forName(driverclass); import java.io.IOExcept ...