阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL 主从基于position复制原理概述

140次阅读
没有评论

共计 1259 个字符,预计需要花费 4 分钟才能阅读完成。

1、主从复制简介

MySQL 主从复制就是将一个 mysql 实例(Master)中的数据实时复制到另一个 MySQL 实例 (slave) 中,而且这个复制是一个异步复制的过程。

实现整个复制操作主要由三个进程完成的,其中两个进程在 Slave(sql_thread 和 IO_thread),另外一个进程在 Master(IO 进程)上。

2、主从复制 原理、机制

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

复制的基本过程如下:

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

2)、Master 接收到来自 Slave 的 IO_thread 的请求后,通过负责复制的 IO 进程根据请

求信息读取指定日志指定位置之后的日志信息,返回给 Slave 的 IO_thread。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到 Master 端的 bin-log file 的以及 bin-log pos;

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

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

3、主从复制 原理图

MySQL 主从基于 position 复制原理概述

MySQL 主从基于 position 复制原理概述

MySQL 5.7 Docker 主从复制架构搭建 http://www.linuxidc.com/Linux/2016-11/136998.htm

MySQL 主从复制操作  http://www.linuxidc.com/Linux/2017-02/141172.htm

MySQL 主从复制数据一致性校验和修复方法及自动化实现  http://www.linuxidc.com/Linux/2017-02/141114.htm

MySQL 主从复制常见错误及解决方法  http://www.linuxidc.com/Linux/2017-02/141059.htm

MySQL 主从复制,读写分离 (mysql-proxy) 及双主结构完整构建过程  http://www.linuxidc.com/Linux/2016-11/137635.htm

CentOS 搭建 MySQL 主从复制,读写分离  http://www.linuxidc.com/Linux/2016-09/135121.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144815.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1259字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中