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之 MySQL 主从复制概述的更多相关文章

  1. MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  2. MySQL数据的主从复制、半同步复制和主主复制详解-转

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  3. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  4. MySQL(4):主从复制原理

    1.主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础.它通过将一台主机的数据复制到其他一台或多台主机上,并重新应用relay log中的SQL语句来实现 ...

  5. MySQL 5.7主从复制实战篇

    MySQL 5.7主从复制实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装MySQL数据库并启动 1>.在MySQL官方下载相应的安装包(https://dev ...

  6. Mysql安装及主从复制配置

    1.下载 mysql数据库 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.ta ...

  7. Mysql的ssl主从复制+半同步主从复制

    Mysql的ssl主从复制+半同步主从复制 准备工作 1.主从服务器时间同步 [root@localhost ~]# crontab -e */30 * * * * /usr/sbin/ntpdate ...

  8. Mysql高级之主从复制

    原文:Mysql高级之主从复制 主从复制不就是多台服务器嘛!,一个改变另一个也改变啦,内容其实都一样! 原理: 对数据库进行操作会生成一个文件,binlog(二进制文件),从服务器配置relaylog ...

  9. mysql多实例-主从复制安装

    安装环境:Centos6.5 mysql版本:mysql-5.5.32.tar.gz 一:安装前准备: 1.安装一些依赖库 yum install cmake gcc gcc-c++ ncurses- ...

  10. 003.MySQL高可用主从复制新增slave

    一 基础环境 主机名 系统版本 MySQL版本 主机IP master CentOS 6.8 MySQL 5.6 172.24.8.10 slave01 CentOS 6.8 MySQL 5.6 17 ...

随机推荐

  1. MarkDown 学习笔记

    MarkDown是一种适用于网络的书写语言,可以帮助你快速书写文档,不必再纠结文档排版的问题.并且它的语法简单,学习成本低,程序员必备技能...助你快速书写技术文档.文章. 用于书写 MarkDown ...

  2. CF #345 Div1 D Zip-line

    题目链接:http://codeforces.com/contest/650/problem/D 大意是给一个数组,若干询问,每一次把一个数字改为另一个数字,问当前数组最长上升子序列,询问之间是独立的 ...

  3. LeetCode 376. Wiggle Subsequence 摆动子序列

    原题 A sequence of numbers is called a wiggle sequence if the differences between successive numbers s ...

  4. JS模式--装饰者模式(用AOP动态改变函数的参数)

    Function.prototype.before = function (beforefn) { var _self = this; return function () { beforefn.ap ...

  5. MySQL安装、输入密码闪退、workbench使用

    1.安装 安装就不细说了,网上一搜一大堆,但是教程推荐这个: wikihow 网站是wikiHOW,很有意思的网站,比百度经验强大很多. 2.输入密码闪退 安装完成后,在开始菜单,打开 开始程序 界面 ...

  6. Mycil命令行MySQL语法高亮和自动补全工具

    MyCli 是MySQL,MariaDB和Percona的命令行界面,具有自动完成和语法高亮的功能. 其效果如图: 那么我们应该怎么安装它呢,这里附上windows的安装方法. 在命令行下输入 pip ...

  7. 博弈论(Game Theory) - 01 - 前传之占优战略均衡

    博弈论(Game Theory) - 01 - 前传之占优战略均衡 开始 我们现在准备攀爬博弈论的几座高峰. 我们先看看在纳什均衡产生之前,博弈论的发展情况. 我们的第一座高峰是占优战略均衡. 囚徒困 ...

  8. jenkins 用户名密码忘记

    进入c盘--用户 在本地用户的目录下找到.jenkins目录,里面有一个config.xml; 打开后,删除其中的 " <useSecurity>true</useSecu ...

  9. javascript函数作用域及this指向详解

    一.先说一个简单的概念--变量提升: 通过function+函数名的方式,声明的函数,可以在代码中的任何位置调用: 通过var定义变量的方式,声明的函数,则必须在声明之后进行调用,原因就是在变量定义之 ...

  10. java局部/成员/静态/实例变量

    局部变量和成员变量主要是他们作用域的区别成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定 ...