MySQL复制(一)--复制概述
| 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复制(一)--复制概述的更多相关文章
- (转)MySQL多源复制
原文:https://dev.mysql.com/doc/refman/5.7/en/replication-multi-source.html MySQL多源复制概述 MySQL多源复制使复制从接受 ...
- MySQL主备复制原理、实现及异常处理
复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...
- MySQL全同步复制基于GR集群架构实现(Centos7)
目录 一. 理论概述 概述 二. 部署 向组加入新节点 测试 三.总结 一. 理论概述 概述 本案例操作的是针对于MySQL的复制类型中的全同步复制,对几种复制类型简单总结下: 异步复制:MySQL默 ...
- MySQL半同步复制
从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认的复制即是 ...
- MySQL中快速复制数据表方法汇总
本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: ...
- MySQL\MariaDB 多线程复制初探
背景: MariaDB 在10.0.5就已经支持了并行复制的功能,即从库多线程复制的功能.MySQL最先在5.6.3中支持.目前暂时没有用MySQL5.6的版本,故暂时只对MariaDB进行一些说明, ...
- mysql主主复制(双主复制)配置步骤
以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章. MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...
- 分布式数据存储 - MySQL双主复制
上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...
- MySQL 5.6 复制:GTID 的优点和限制(第一部分)
全局事务标示符(Global Transactions Identifier)是MySQL 5.6复制的一个新特性.它为维护特定的复制拓扑结构下服务器的DBA们大幅度改善他们的工作状况提供了多种可能性 ...
随机推荐
- java 协程
协程是比线程更轻量级的程序处理单元,也可以说是运行在线程上的线程,由自己控制 1.适用于被阻塞的,且需要大量并发的场景. 2.不适用于,大量计算的多线程,遇到此种情况,更好实用线程去解决. 虽然Jav ...
- yaml服务部署示例
apiVersion: apps/v1kind: Deploymentmetadata: name: igirl namespace: chaolai labels: app: igirl ...
- vue 使用心得---工作中一些关键点
1.自定义组件 使用 v-for 循环,最好另外多加上 v-bind:key="items_name",这是特殊用的:key,而不是普通的 :属性 例:<Uiroom> ...
- js 匀速运动到100和到300
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- [总结]一些 DP 优化方法
目录 注意本文未完结 写在前面 矩阵快速幂优化 前缀和优化 two-pointer 优化 决策单调性对一类 1D/1D DP 的优化 \(w(i,j)\) 只含 \(i\) 和 \(j\) 的项--单 ...
- linux动态监控dstat&&glances&&psutil&&bottle
安装dstat yum install dstat 安装glances yum install python-devel pip install glances 如果我们安装了 Bottle 这个 w ...
- Struts2 处理AJAX请求
Struts2整合AJAX有2种方式: 使用type="stream"类型的<result> 使用JSON插件 使用type="stream"类型的 ...
- C++:面向对象的相关概念
对象: 一般意义上的对象:是现实世界中一个实际存在的事物 面向对象方法中的对象:是系统中用来描述客观事物的一个实体 抽象与分类: 分类所依据的原则:抽象 抽象出同一类对象的共同属性和行为,形成类 类与 ...
- 「快学springboot」SpringBoot整合freeMark模板引擎
前言 虽然现在流行前后端分离开发和部署,但是有时候还是需要用到服务端渲染页面的.比如:需要考虑到SEO优化等问题的时候,FreeMark其实还是很有作用的.本人的博客本来是用React开发的,但是后来 ...
- burpsuite使用--暴力破解
测试靶机:dvwa 浏览器开启代理,使用burpsuite拦截: 并将拦截到的内容发送到intruder进行暴力破解 右边的Add$和Clear$都是选择爆破范围的操作,一个是选择,一个是清除,这里只 ...