Replication[复制]使得数据可以从一个Master服务器上复制到一个或多个Slave上,默认是异步复制,不需要与Master建立永久连接;基于配置,可以作用于所有库,指定的库或库中的某些表。

优点:

  可扩展的解决方案:将负载分摊到多个Slave上以提高性能;在这种方案中Master只负责Write和Update, 所有的Read都分摊在多个Slave上。

  数据安全性:由于数据审美观点 复制到Salve上,并且Slave可以终止复制进程。

  可解析性【Analytics】:Master是数据的产生源,可将耗时的分析工作放在Slave上,这样就不会对Master有影响。

  跨地域的数据分布【Long-distance data distribution】,你可以创建一个本地复本用于业务处理,而不时实使用Master。

实现方式:

  MySql5.7有两种

  传统的通过Master的binary Log 在Master与Slave上同步复制;

  新的基于GTIDs[global transaction identifiers] ,使用GTIDs保证数据在Master和slave上的一致性。

Mysql支持不同类型的同步复制,最原始的一种:One-way异步复制【一个作为Master,其他为Slave】,此与Mysql Cluster NDB7.5的同步复制相反;

半同步【Semisynchronous】复制,事务被阻塞直到有一个Slave确认。

延迟复制【delay replication】,故意在Master之后的一段时间执行。

从本质上看,最基本的有两种复制方式:SBR【Statement Based Replication】,基于sql语句的复制;RBR【Row Based Replication】,只对改变的行复制。

当然也可以将两者混合,就延生出了第三种方式 MBR【Mixed Based Replication】。

Prior to MySQL 5.7.7, statement-based format was the default. In MySQL 5.7.7 and later, row-based format is the default.

在复制服务中有三种线程参与:BinLog dump thread ,  Slave I/O thread和 Slave SQL thread.

BinLog dump thread:当Slave连接Master时,Master会创建该线程用于传输BinLog到Slave上。

Slave I/O thread :当在Slave上运行START SLAVE时创建,用于连接Master并请求BinLog,之后再把Log写到本地的relay log中供Slave SQL thread 使用。

Slave SQL thread: 读取relaylog并执行Events。

复制通道【Replication Channels】

Mysql之复制服务的更多相关文章

  1. mysql简单复制服务搭建

    .安装mysql源(centos7中默认是不包含mysql源) wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm ...

  2. 与MySQL传统复制相比,GTID有哪些独特的复制姿势?

    与MySQL传统复制相比,GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军,苏宁云商IT总部资深技术经理,从事数 ...

  3. MySQL的复制

    1.复制概述1.1.复制解决的问题数据复制技术有以下一些特点:(1)    数据分布(2)    负载平衡(load balancing)(3)    备份(4)    高可用性(high avail ...

  4. mysql安装后服务启动不了(总结)

    mysql安装后服务启动不了 1.1 前言 最近真的是倒霉到家,装个mysql都能把所有的问题给问候了一遍······不过这也是一个宝贵的经验,得好好总结下,毕竟也不知道以后会不会再次遇到.如果有网友 ...

  5. Mysql 数据库复制

    Mysql 数据库复制 数据库复制是一种同步手段,主库向一台或多台数据库同步数据. 这个功能我自己曾经用uts数据传输工具实现过! 现在学习了一下mysql数据库复制的其他方式 第一个就是最简单的使用 ...

  6. MySQL中间件之ProxySQL(15):ProxySQL代理MySQL组复制

    返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+组复制前言 在以前的ProxySQL版本中,要支 ...

  7. MySQL的复制机制

    MySQL的复制机制 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL复制介绍 1>.MySQL复制允许将主实例(master)上的数据同步到一个或多个从实例( ...

  8. Mysql组复制之单主模式(一)

    环境 系统:CentOS release 6.9 (Final) Mysql:5.7 机器: S1 10.0.0.7 lemon S2 10.0.0.8 lemon2 S3 10.0.0.9 lemo ...

  9. InnoSQL/MySQL并行复制的实现与配置

    InnoSQL/MySQL并行复制的实现与配置 http://www.innomysql.net/article/6276.html 并行复制之前的解决方案 InnoSQL在5.5.30-v4版本中支 ...

随机推荐

  1. 【转】php 下载保存文件保存到本地的两种实现方法

    来源:http://www.jb51.net/article/40485.htm 第一种: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function d ...

  2. linux下用Apache一个IP多个域名建虚拟主机

    如有两个域名,分别是hello.abc.com和play.abc.com,需把这两个域名都绑定到 IP是219.13.34.32的服务器上 1.首先需在域名供应商管理页面指定域名和IP的对应关系 2. ...

  3. BZOJ2171——K凹凸序列

    好吧,我承认是sb题QAQ BZOJ2171弱化版QAQ 这题考试的时候写的我快吐血了QAQ 0.题目大意:给一个序列,你可以随便修改,修改是将一个数+1或-1,一次修改的代价是1,问把这个数修改成x ...

  4. 技术博客(初用markdown)。

    技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容 输出不同的三位数 以下为代码和输出结果 *** #include<stdio.h> ...

  5. C++ STL,list vector区别

    顺序性容器: 向量 vector :   是一个线性顺序结构.相当于数组,但其大小可以不预先指定,并且自动扩展.它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组.在创建一个 ...

  6. Android_bug之Default Activity not found

    在运行自己修改默认的MainActivety,运行自己的Mainactivety时,碰到这个问题Could not identify launch activity: Default Activity ...

  7. Java WebClient 总结

    private WebClient getAWebClient() { WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24); ...

  8. MySQL重复数据

    delete from porn where Id not in (select minid from (select min(id) as minid from porn group by view ...

  9. 网页嵌入swf代码

    <object class id="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://dow ...

  10. 一个完整的Http请求

    一个完整的http请求,通常有以下7点: 1.建立tcp连接 2.web浏览器web服务器发送请求命令 3.web浏览器发送请求头信息 4.web服务器应答 5.web服务器发送应答信息 6.web服 ...