(一)什么是复制

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复制(replication)文档集合:

1.复制概述2.基于二进制日志文件位置(binlog)配置复制

3.基于全局事物标识符(GTID)配置复制

4.多源复制

5.级联复制

6.半同步复制

7.延迟复制

8.复制过滤规则

9.对复制进行故障排除

10.故障切换

11.复制管理

mysql行复制_MySQL复制(一)--复制概述相关推荐

  1. mysql半复制_mysql半同步复制

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

  2. mysql 半同步复制_Mysql半同步复制原理及问题排查

    mysql半同步复制和异步复制的差别如上述架构图所示:在mysql异步复制的情况下,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master ...

  3. mysql半备份_MySQL半同步复制与增强半同步复制详解及安装

    一.基础 1.目前MySQL主要有三种复制方式 1)异步复制 2)半同步复制 3)增强半同步复制 推荐使用:对性能要求较高的推荐使用异步复制 ,如果运行的金融类业务推荐使用增强半同步复制,并使用ROW ...

  4. mysql 组复制和传统复制_MySQL的GTID复制与传统复制的相互切换

    1. GTID复制转换成传统复制 1.1 环境准备 类型 ip prot server-id master 192.168.56.100 3307 1003307 slave 192.168.56.2 ...

  5. mysql gtid 复制_MySQL的GTID复制

    从mysql5.6开始引入全局事务标识符(GTID),即每个事务都有一个唯一的标识符.服务器上的每个事务都被分配一个唯一的事务标识符,这是一个64位非零的数值,根据事务提交的顺序分配.GTID的构成是 ...

  6. list存入mysql乱序_MySQL案例-并行复制乱序提交引起的同步异常

    现象描述 Slave在开启并行复制后, 默认会乱序提交事务, 可能会引起同步中断; Slave端表现为同步的SQL线程抛出异常, 为主键重复, 修改的数据行不存在等; GTID信息类似于: 9a2a5 ...

  7. mysql 备份表_MySQL中表的复制以及大型数据表的备份教程

    表复制mysql拷贝表操作我们会常常用到,下面就为您详细介绍几种mysql拷贝表的方式,希望对您学习mysql拷贝表方面能够有所帮助. 假如我们有以下这样一个表: id username passwo ...

  8. mysql 对表修改_MySQL对表的复制,修改及删除

    本来都不想写这节了,因为很麻烦,例子要多,且要有代表性,而且也知道大家都烦了.可是这节却是我们平时经常使用的,因为MySQL用的最多的就是对数据的操作,包括插入数据,更新数据,修改数据,删除数据.可是 ...

  9. MySQL多元复制_MySQL多源复制解决方案

    MySQL轻松实现一主多从,但要将多个实例的数据复制到一个实例中就比较难啦,幸好在MariaDB中已经实现multi-master replication 功能: 在介绍MariaDB的功能前,我们先 ...

  10. mysql 三主_MySQL主主复制3

    一.创建并授权用户 在每一台(主)服务器上创建一个用户,并为之授权,使它们可以互相访问彼此的数据库 在Server-1上: 创建一个充许Server-2来访问的用户server2,密码为:server ...

最新文章

  1. 动态规划算法解最长公共子序列LCS问题
  2. 已经入门了C++,后面的路怎么走?
  3. cc2530定时器和捕获比较_STM32学习日志——输入捕获实验(20.06.26)
  4. IoC--structuremap
  5. C++学习笔记-----永远不要在派生类中改变虚函数的默认参数值
  6. MySQL高级in和not in
  7. Matlab插值方法大全
  8. CCIE理论-第一篇-SDN概念复习
  9. 用python做简单的地理聚类分析案例_用Python做一个简单的翻译工具
  10. linux ssh编译命令,linux下升级 OpenSSH
  11. oracle笔记(2010-1-30)
  12. C语言项目 ---- 纸牌游戏(详细讲解 + 全部代码 + 运行图片)
  13. matlab对多项式求导的命令,matlab多项式求导
  14. 网易云音乐接口大全(亲测可用)
  15. html怎么在手机打不开,手机的浏览器打不开网页怎么办
  16. react 入门学习(一)
  17. 【自动控制理论(三)】频率特性
  18. doris数据库环境搭建报错(invalid cluster id. ignore)
  19. 数据库系统概论王珊第四版 答案
  20. arduino自制cnc绘图仪_Arduino + 光驱改造数控绘图机

热门文章

  1. Atitit.技术管理者要不要自己做开发??
  2. Yii2.0学习资源
  3. JAVA进阶----ThreadPoolExecutor机制(转)
  4. github推送错误:已经有此代码,不允许覆盖的解决方法
  5. [Windows沙拉]调整Windows7下时间同步的频率
  6. C#设置WebBrowser IE浏览器版本
  7. 简单易用的.NET免费开源RabbitMQ操作组件EasyNetQ解析
  8. oracle中if/else功能的实现的3种写法
  9. Memcached通用类(基于enyim.com Memcached Client)
  10. 项目管理杂感(2)──继续说项目管理的目标