文档章节

sql --mysql主从复制原理

求是科技
 求是科技
发布于 2016/09/19 12:27
字数 697
阅读 46
收藏 4

mysql主从复制的实现详见
https://my.oschina.net/u/2312022/blog/748459
###1.mysql复制原理
将mysql某一台主机上的数据复制到其他从机上,并重新执行一遍日志文件中的内容来实现复制。
1.主服务器将更新写入二进制日志文件,并维护文件的一个索引来监控循环日志,这些日志记录可以发送到从服务器进行更新。
2.当一个从服务器连接主服务器时,它通知主服务器从日志文件中读取最后一次成功更新的位置;从服务器接收从那时起产生的任何更新,然后封锁并等待主服务器通知新的更新。 ###2.mysql支持的复制类型 1基于语句的复制。即在主服务器上执行的sql语句,在从服务器上执行同样的语句。
2基于行的复制。把改变的内容复制过去。 3混合类型的复制。默认采用基于语句的复制,一旦发现基于语句的复制无法精确复制时,则采取行复制。 ###3.复制的具体工作
1 mster将改变的数据记录到二进制日志中,这些记录叫做二进制数据
2 slave将master的二进制记录拷贝到它的中继日志中
3 slave重做中继日志中的事件,这样可以保持了主从同步
###4.工作流程
####master做的事情
1 有数据变化时,master记录二进制文件。
2 在事件写入二进制日志完成后,master通知存储引擎提交事务
####slave做的事情
1.它需要将master中的二进制记录拷贝到自己的中继日志。
2.slave开启一个工作线程--I/O线程。该线程在master上打开一个普通的连接,然后开始binlog dump process,该process从master的二进制日志中读取事件,如果连接上master,它会睡眠并等待mater产生新的事物。即I/O线程将master中的事务写入到中继日志中。
3.slave线程将从 中继日志中读取事件,并重现事件(执行相关的sql)进而来更新slave的数据,这样就实现了主从同步。
###5.总结
简单概述主从复制过程
1.mster将数据改变 记录到二进制日志中,即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
2.slave将master的 二进制日志文件 拷贝到 它的中继日志(relay log)
3.slave重做中继日志中的事件,将改变它自己的数据(数据重演)

© 著作权归作者所有

求是科技

求是科技

粉丝 96
博文 448
码字总数 231187
作品 0
成都
后端工程师
私信 提问
mysql 主从复制的 工作原理

mysql 主从复制原理 主从形式 mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的; 多主一从---5.7开始支持 联级复制--- 用途及条件 mysql主从复制...

我不是九爷
2018/07/13
0
0
MySQL传统主从复制(第一弹)

0、引言 MySQL主从复制的原理及搭建,故障分析 一、MySQL主从同步的架构及原理 原理: 1)Slave连接到master,主从数据一致,开启同步,开始同步数据 2) 用户在主上写入数据,日志储存到bin...

IT--小哥
2016/12/13
42
0
MySQL阶段五——主从复制原理、主从延迟原理与解决

MySQL主从复制原理、主从延迟原理与解决 MySQL主从复制画图描述: MySQL主从复制原理上图详解: ① 用户做crud操作,写入数据库,更新结果记录到binlog中; ② 主从同步是主找从的,从库I...

花开半夏qb
2017/05/24
0
0
为什么要对MySQL做主从同步复制

为什么要对MySQL做主从同步复制 一.MySQL主从方案主要作用 1.读写分离,使数据库能支撑更大的并发 在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用m...

zkhylt
2016/05/15
0
0
mysql主从复制面试宝典!面试官都没你懂得多!(11)

     有些同学连集群和主从都分不清楚的,这里我说一下他们最本质的区别,其实也就是data-sharing和nothing-sharing的区别。集群是共享存储的。主从复制中没有任何共享。每台机器都是独立...

java进阶架构师
2017/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

非递归实现后序遍历二叉树

问题描述 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行后序遍历,然后将遍历结果打印输出。要求采用非递归方法实现。 解题思路 Push根结点到第一...

niithub
27分钟前
3
0
IDEA 自动删除类中无用的import包

1.手动快捷键 Ctrl + Alt + O 2.配置自动清理 Ctrl + Alt + S 打开设置 然后,进行如下操作:

时刻在奔跑
30分钟前
2
0
cwRsync提示password file must be owned by root when running as root的解决方法

cwRsync提示password file must be owned by root when running as root的解决方法 更新时间:2015年08月30日 23:05:52 投稿:mdxy-dxy 我要评论 今天在配置服务器的时候,用了rsync4.10版本...

rootliu
35分钟前
1
0
Java 交换两个参数

目前有一个小需求: 定义一个函数,交换两个值。于是,有人就写了这样一个函数。 public class exchange_01 { public static void main(String[] args) { // TODO Auto-gen...

hellation_
44分钟前
2
0
ExoPlayer简单使用

一、介绍 ExoPlayer是google开源的应用级媒体播放器项目,该开源项目包含ExoPlayer库和演示demo,github地址:https://github.com/google/ExoPlayer。 二、概述 ExoPlayer库的核心是ExoPlay...

零点B5
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部