mysql ab复制原理_MYSQL AB复制原理

news/2024/7/6 6:45:31

Mysql复制(replication)是一个异步的复制,从一个Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在 Master(IO进程)上。

要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现。因为整个MySQL 复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。

复制的基本过程如下:

1)、Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;

2)、Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave 的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log文件的名称以及bin-log的位置;

3)、Slave的IO进程接收到信息后,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到的Master端的 bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉Master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”;

4)、Slave的Sql进程检测到relay-log中新增加了内容后,会马上解析relay-log的内容成为在Master端真实执行时候的那些可执行的内容,并在自身执行。


http://www.niftyadmin.cn/n/4747380.html

相关文章

易语言mysql管理源码下载_易语言MYSQL简化版管理程序源码

易语言MYSQL简化版管理程序源码易语言MYSQL简化版管理程序系统结构:服务是否启动,检测,停止服务,启动服务,安装,卸载服务,启动安装,启动缷载,创建事件同步对象,打开事件同步对象,SendMessage,SetWindowPos,窗口程序集1| || |------ __启动窗口_创建完毕| || |------ _气球提示框…

mysql cluster 缩容_分布式常见问题分析及解决方案

1、分布式和集群概念分布式:可以简单理解成将一个独立的系统拆分成很多个子系统,每个子系统可以单独的运行(比如用户登录、订单支付),这个称之为分布式系统。集群:可以简单理解就是对于任何一个系统至少部署了两台服务器上&#x…

mysql 试图排序后分组_group by 先排序再分组的问题

group by 先排序再分组的问题group是分组,想先排序如何办?建一个表试试---- 表的结构 test--CREATE TABLE IF NOT EXISTS test (id int(11) NOT NULL AUTO_INCREMENT,name varchar(16) NOT NULL,phone int(11) NOT NULL,PRIMARY KEY (id)) ENGINEMyISAM DEFAULT CHARSETutf8;…

3sum java_[leetcode-15]3Sum(java)

问题描述:Given an array S of n integers, are there elements a, b, c in S such that a b c 0? Find all unique triplets in the array which gives the sum of zero.Note:Elements in a triplet (a,b,c) must be in non-descending order. (ie, a ≤ b ≤ …

java mongodb 关闭连接_Java中获取MongoDB连接的方法

首先是所需jar包,Maven中的配置如下:org.mongodbmongodb-driver3.4.1org.mongodbbson3.4.1org.springframework.dataspring-data-mongodb1.7.0.RELEASEorg.mongodbmongo-java-driver3.9.1获取连接的代码如下(本中用的是模板类):List addrs n…

用思维导图学习java_用思维导图纪录Java学习过程

之前小编我给大家分享过一些Java学习相关的图片,比如 Java入门三张图够吗 ,这种图正是大名鼎鼎的思维导图。思维导图又叫心智导图是表达发散性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具。思维导图运用…

apparmor mysql_apparmor 引起自定义mysql 日志问题

今天手贱,看到mysql 的日志在/var/log/mysql下面。总是觉得别扭,于是就想改变日志的位置,本人开发环境 vagrant ubuntu12.04 ,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面然后重启服务,s…

java extjs4 分页_ExtJs4 SpringMvc3 实现Grid 分页

新建一个Maven webapp项目,webxml以及spring配置没什么需要注意的,不再赘述。Maven依赖:(个人习惯,有用没用的都加上。。。)4.0.0zp.testextjswar0.0.1-SNAPSHOTextjs Maven Webapphttp://maven.apache.orgjunitjunit4.7testjstlj…