MySQL 主从复制原理及过程讲解
mysql主从原理描述,摘自老男孩。
下面简 单描述下 MySQL Replication 复制的原理及过程 。
1.在 Slave 服务器上执行 start slave 命令开启主从复制开关,主从复制开始进行 。 2)此时, Slave服务器的 I/O线程会通过在 Master上已经授权的复制用户权限请求
2.此时, Slave服务器的 I/O线程会通过在 Master上已经授权的复制用户权限请求连接 Master 服务器 ,并请求从指定 binlog 日志文件的指定位 置(日志文件名 和位置就是 在配置主从复制服务时执行 change master 命令指定的)之后开始发送 binlog 日志内容 。
3.Master服务器接收到来自 Slave服务器的 I/O线程的请求之后,其上负责复制的 binlog dump 线程会根据 Slave 服务器的 I/O 线程请求的信息,分批读取指定 binlog 日 志文件所指定位置之后的 binlog 日志信息,然后返回给 Slave 端的 I/O 线程 。 返回的信 息中除了 binlog 日 志内容之外,还包括在 Master 服务器端记录的新的 binlog 文件名称, 以及在新的 binlog 中的下一个指定的更新位置 。
4.当 Slave服务器的 I/O线程获取到 Master服务器上 I/O线程发送的日志内容及 日志文件和位置点之后 ,会将 binlog 日志内容依次写入到 Slave 端自身的 Relay Log (即 中继日志)文件(MySQL-relay-bin.xxxxxx)的最末端,并将新的 binlog文件名和位置记录到 master-info 文件中,以便下 一 次读取 Master 端新 binlog 日志时,能够告诉 Master 服务器需要从新 binlog 日志的指定文件及位置开始请求新的 binlog 日志内容 。
5.slave服务器端的 SQL线程会实时地检测本地 Relay Log 中 I/O线程新增加的日 志内容,然后及时地把 Relay Log 文件中的内 容解析成 SQL 语句, 并在自身 Slave 服务 器上按解析 SQL 语句的位置顺序执行和应用这些 SQL 语句,并将当前应用中继日志的 文件名及位置点记录在 relay-log.info 中 。
经过了上面的过程,就可以确保在 Master端和 Slave端执行了同样的 SQL 语句 。 在复制状态正常的情况下, Master 端和 Slave 端的数据 是完全一样 的 。 当然, MySQL 的 复制机制也包含一些特殊的情况,具体请参考官方的说明,大多数情况下,大家是不用 担心的 。
MySQL 主从复制原理及过程讲解的更多相关文章
- mysql 主从复制原理
主从形式 mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的: 多主一从---5.7开始支持 联级复制--- 用途及条件 mysql主 ...
- Mysql主从复制原理及配置
Mysql主从复制原理及配置 1.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其 ...
- MySQL主从复制--原理
简介 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一 ...
- 如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?
如何实现 MySQL 的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去. MySQL 主从复制原理的是 ...
- Mysql主从复制原理及搭建
## Mysql主从复制原理 主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中.对于多级复制,数据库服务器即可充当主机,也可充当从 ...
- mysql主从复制原理及实践
Mysql主从复制原理及实践 mysql主从框架 MySQL主从架构是MySQL集群中最基本也是最常用的一种架构部署,能够满足很多业务需求,常见的有一主一从或者一主多从.可以防止单一主机的 ...
- 深度探索MySQL主从复制原理
深度探索MySQL主从复制原理 一 .概要 MySQL Replication (MySQL 主从复制) 是什么? 为什么要主从复制以及它的实现原理是什么? 1.1 MySQL 主从复制概念 MySQ ...
- MySQL 主从复制原理不再难
上篇我们分析过 Binlog 日志的作用以及存储原理,感兴趣的可以翻阅: 一文带你了解 Binlog 日志 Binlog 日志主要作用是数据恢复和主从复制.本身就是二进制格式的日志文件,网络传输无需进 ...
- MySQL(13)---MYSQL主从复制原理
MYSQL主从复制原理 最近在做项目的时候,因为部署了 MYSQL主从复制 所以在这里记录下整个过程.这里一共会分两篇博客来写: 1.Mysql主从复制原理 2.docker部署Mysql主从复制实战 ...
随机推荐
- SpringBoot 集成 Elasticsearch
前面在 ubuntu 完成安装 elasticsearch,现在我们SpringBoot将集成elasticsearch. 1.创建SpringBoot项目 我们这边直接引入NoSql中Spring ...
- idea ------- 源码调试运行
1.创建一个 想学 的 ,使用单步调试进行一步步学习 调整系统资源 单步调试 (F7) ,进入不了源码,调整idea 让我们可以进入底层学习 想要在源码里面添加注释,要将引用的源文件指向,我们刚才复制 ...
- Python 【面试强化宝典】
四大数据类型的常用方法 列表常用方法 #1. append 用于在列表末尾追加新的对象 a = [1,2,3] a.append(4) #the result : [1, 2, 3, 4] #2. c ...
- Mybatis Generator通用Join的实现
通常,我们使用Mybatis实现join表关联的时候,一般都是通过在xml或注解里写自定义sql实现. 本文通过Mybatis Generator的插件功能新增一个JoinPlugin插件,只要在配置 ...
- Matplotlib 误差线的绘制和子图的创建方式
一.绘制误差线 使用errorbar方法可以绘制误差线. x = np.linspace(0,10,50) dy=0.8 y = np.cos(x) + dy*np.random.randn(50) ...
- php utf-8
header(”Content-Type: text/html; charset=UTF-8″) 控制器控释模板输出: 值: array (size=8) 1 => array (size=4) ...
- 关于VUE的路由地址问题
目前我们VUE的项目都是单页面应用,路由地址全都是#以不同的锚点去分发,根目录就是 http://localhost:8080/index#/ (至于为什么不是http://localhost:8 ...
- php token验证范例
<?php $module = $_GET['module']; $action = $_GET['action']; $token = md5sum($module.date('Y-m-d', ...
- Synchronous and Asynchronous I/O [Windows]
There are two types of input/output (I/O) synchronization: synchronous I/O and asynchronous I/O. Asy ...
- Linux系统管理第六次作业 进程和计划任务管理
1.通过ps命令的两种选项形式查看进程信息 [root@localhost ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STA ...