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. phpcms中常用代码总结

    1.调用数据库模型 $this->db = pc_base::load_model('test_model');//从"phpcms/model/"目录下加载模型类文件 其中 ...

  2. iOS开发——UI基础-按钮内边距,图片拉伸

    一.内边距 UIButton有三个属性,分别可以设置按钮以及内部子控件的内边距 1.contentEdgeInsets 如果是设置contentEdgeInsets, 会把UIImageView和UI ...

  3. /etc/bashrc和/etc/profile傻傻分不清楚?

    导读 在一般的 linux 或者 unix 系统中, 都可以通过编辑 bashrc 和 profile来设置用户的工作环境, 很多文章对于 profile 和 bashrc 也都有使用, 但究竟每个文 ...

  4. map的4种遍历方式

            System.out.println("key= "+ key + " and value= " + map.get(key));    }   ...

  5. 思科 vlan 相关操作

    添加或者修改VLAN Switch(config)# vlan vlan-id Switch(config-vlan)# name vlan-name 删除VLAN Switch(config)# n ...

  6. PingUtil in Android

    Ping a host in Android:“ping -c 1 127.0.0.1”-c 1: The ping times. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  7. 读书笔记-Android初学笔记

    Eclipse [ADT] 源 https://dl-ssl.google.com/android/eclipse Notice that no matter what scenario causes ...

  8. ubuntu add application to launcher

    eg. add sublime text to launcher so as to be found by launcher, docky, etc. add a file sudo gedit /u ...

  9. jenkins集成ansible注意事项Failed to connect to the host via ssh.

    在集成jenkins和ansible实现自动化部署时,root用户下执行ansible命令时可以正常运行.由于是通过jenkins用户去执行ansible命令,而jenkins用户却报如下异常: XX ...

  10. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...