1、什么是mysql主从同步?

当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。

2、主从同步有什么好处?水平扩展数据库的负载能力。

容错,高可用。Failover(失败切换)/High Availability

数据备份。

3、主从同步的原理是什么?

首先我们来了解master-slave的体系结构。

如下图:

不管是delete、update、insert,还是创建函数、存储过程,所有的操作都在master上。当master有操作的时候,slave会快速的接收到这些操作,从而做同步。

但是,这个机制是怎么实现的呢?

在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);在slave机器上,slave读取主从同步事件,并根据读取的事件变化,在slave库上做相应的更改。

如此,就实现了主从同步了!

下面我们来详细的了解。

3.1主从同步事件有哪些

上面说到:

在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);

主从同步事件有3种形式:statement、row、mixed。statement:会将对数据库操作的sql语句写入到binlog中。

row:会将每一条数据的变化写入到binlog中。

mixed:statement与row的混合。Mysql决定什么时候写statement格式的,什么时候写row格式的binlog。

3.2在master机器上的操作

当master上的数据发生改变的时候,该事件(insert、update、delete)变化会按照顺序写入到binlog中。

binlog dump线程

当slave连接到master的时候,master机器会为slave开启binlog dump线程。当master 的 binlog发生变化的时候,binlog dump线程会通知slave,并将相应的binlog内容发送给slave。

3.3在slave机器上的操作

当主从同步开启的时候,slave上会创建2个线程。I/O线程。该线程连接到master机器,master机器上的binlog dump线程会将binlog的内容发送给该I/O线程。该I/O线程接收到binlog内容后,再将内容写入到本地的relay log。

SQL线程。该线程读取I/O线程写入的relay log。并且根据relay log的内容对slave数据库做相应的操作。

3.4如何在master、slave上查看上述的线程?

使用SHOW PROCESSLIST命令可以查看。

如图,在master机器上查看binlog dump线程。

如图,在slave机器上查看I/O、SQL线程。

4、讲了这么多,一图以蔽之

5、关于实战

http://www.jb51.net/article/108312.htm

原文链接:http://www.jb51.net/article/108313.htm来源:http://www.icode9.com/content-2-245651.html

mysql主从和dump_MySQL主从同步--原理及实现(一)相关推荐

  1. mysql 主从同步不一致_涨知识!MySQL 主从同步原理原来是这样的

    什么是 MySQL 主从同步 当 master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 主从同步有什么好处 水平扩展数据库的负载能力 容错,高可用.Failover/Hig ...

  2. 【mysql进阶】MTS主从同步原理及实操指南(七)

    0.引言 随着业务场景的深入和请求量的剧增,单库实现读写越来越趋近瓶颈,于是我们想到搭建主从库,主库负责写,从库负责读,从而实现读写分离,提高查询效率. 但是主从库之间的数据如何同步呢?很明显我们写入 ...

  3. mysql 8.0配置主从同步_MySQL8.0.19开启GTID主从同步CentOS8

    前言本次搭建目标为1主2从MySQL主从同步结构.采用CentOS8作为操作系统,IP为[10.0.0.211,10.0.0.212,10.0.0.213].MySQL版本为8.0.19,端口均采用3 ...

  4. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践

    学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...

  5. Linux下MySQL 5.7 主从复制(主从同步)

    首先要准备两台服务器,一台主服务器(Master),另一台从服务器(Slave),然后要保证Master与Slave的版本要相同且Master不能高于Slave的版本,一般稳健的做法都是使其版本相同, ...

  6. mysql 双机异地热备份—-mysql主从,主主备份原理及实践

    简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...

  7. mysql replication slave_MySQL Replication,主从同步( Master-Slave)

    转载自:http://lizhao6210-126-com.iteye.com/blog/1716485 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广 ...

  8. Linux企业化运维--(7)redis服务之redis配置及主从复制、主从自动切换、集群、redis+mysql、gearman实现数据同步

    Linux企业化运维 实验所用系统为Redhat-rhel7.6. 目录 Linux企业化运维 Linux企业化运维--(7)redis服务之redis配置及主从复制.主从自动切换.集群.redis+ ...

  9. 关于Linux下MySql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记

    写在前面 和小伙们分享一些Mysql集群主从同步相关的笔记 博文内容涉及: 为什么需要mysql集群主从同步 主从同步原理 部署不同主从结构的Mysql集群 同步使用的复制模式介绍配置 理解不足小伙伴 ...

最新文章

  1. C++写的一个简单的词法分析器(分析C语言)
  2. eclipse android环境配置
  3. mysql数据库学习(一)--基础
  4. C# — Windows服务安装后自动停止问题
  5. C/C++排序算法(6)堆排序
  6. hadoop之BlockPoolManager源码分析
  7. MinGW找不到Gcc的解决方法
  8. “21天好习惯”第一期-7
  9. sublime text 使用小技巧
  10. Docker从理论到实践(三)------配置你的DaoCloud的Docker镜像源加速器
  11. springAop切面失效的问题解决
  12. 手机微信群控系统和云控详细说明
  13. 深度学习概念挖掘——GPU
  14. 超级牛人在华为工作十年的感悟
  15. MFSPV: A Multi-Factor Secured and Lightweight Privacy-Preserving Authentication Schem
  16. httpcanary和fiddler的使用教程
  17. 计算机主板 也叫系统板或母版,什么是主板
  18. 关于举办2021年湖北省学生信息素养提升实践活动的通知
  19. 1610C - Keshi Is Throwing a Party 题解
  20. 行为型模式----golang实现

热门文章

  1. 微信公众号 模版消息 跳转到小程序报错{ errcode: 40013, errmsg: 'invalid appid hint: [cC6RwA09011295]' }
  2. UDP协议下的DatagramSocket和DatagramPacket
  3. (六)ElasticSearch 6.1.1聚合查询
  4. java递归遍历xml所有元素_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...
  5. Java 的Runnable和Callable的区别
  6. [转]ASP.NET MVC4中@model使用多个类型实例的方法
  7. C#中yield return用法
  8. 基于visual Studio2013解决面试题之0902内存拷贝
  9. 磁盘 I/O 性能监控指标和调优方法
  10. VS2008 只生成DLL不生成lib文件