↑ 点击上面 “时代Java”关注我们,关注新技术,学习新知识!

1.Mysql逻辑架构图

如果能在脑海中构建出MySql各组件之间如何协同工作的架构图,就会有助于深入理解MySql服务器

Mysql逻辑架构图主要分三层:1) 第一层负责连接处理,授权认证,安全等等

每个客户端连接都会在服务器进程中拥有一个线程,服务器维护了一个线程池,因此不需要为每一个新建的连接创建或者销毁线程。
当客户端连接到Mysql服务器时,服务器对其进行认证,通过用户名和密码认证,也可以通过SSL证书进行认证。
一旦客户端连接成功,服务器会继续验证客户端是否具有执行某个特定查询的权限。

2)第二层负责编译并优化SQL

这一层包括查询解析,分析,优化,缓存以及所有的的内置函数。
对于SELECT语句,在解析查询前,服务器会先检查查询缓存,如果能在其中找到对应的查询结果,则无需再进行查询解析、优化等过程,直接返回查询结果。
所有跨存储引擎的功能都在这一层实现:存储过程,触发器,视图。

3)第三层是存储引擎。

  • 存储引擎负责在MySQL中存储数据、提取数据。

  • 存储引擎通过API与上层进行通信,这些API屏蔽了不同存储引擎之间的差异,使得这些差异对上层查询过程透明。

  • 存储引擎不会去解析SQL,不同存储引擎之间也不会相互通信,而只是简单地响应上层服务器的请求。

2.mysql主从复制原理图

mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要。

主从复制原理,简言之,就三步曲,如下:

主数据库有个bin-log二进制文件,纪录了所有增删改Sql语句。(binlog线程)
从数据库把主数据库的bin-log文件的sql语句复制过来。(io线程)
从数据库的relay-log重做日志文件中再执行一次这些sql语句。(Sql执行线程)

如下图所示:

上图主从复制分了五个步骤进行:
步骤一:主库的更新事件(update、insert、delete)被写到binlog
步骤二:从库发起连接,连接到主库。
步骤三:此时主库创建一个binlog dump thread,把binlog的内容发送到从库。
步骤四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log
步骤五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db

--

知识分享,时代前行!

~~ 时代Java

还有更多好文章……

请查看历史文章和官网,

↓有分享,有收获~

mysql主从复制原理详解_简述 MySQL 逻辑架构与主从复制原理。相关推荐

  1. mysql innodb 设置详解_【mysql】mysql innodb 配置详解

    MySQLinnodb 配置详解 innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响.默认的设置只有8M,所以默认的数据库设置下面InnoD ...

  2. mysql查询语句详解_基于mysql查询语句的使用详解

    1> 查询数据表除了前三条以外的数据. 起初我想到的是这条语句 SELECT * FROM admin WHERE userid NOT IN (SELECT userid FROM admin ...

  3. 0832工作原理详解_最经典MOS管电路工作原理及详解没有之一

    欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 1105621549 高可靠新能源行业顶尖自媒体 在这里有电力电子.新能源干货.行业发展趋势分析.最新产品介绍.众多技术达人与您分享经验,欢 ...

  4. mysql数据库约束详解_基于MySQL数据库的数据约束实例及五种完整性约束介绍

    为了防止不符合规范的数据进入数据库,在用户对数据进行插入.修改.删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确.有效.相容. ...

  5. 电路计算机仿真的优点,施密特触发器电路及工作原理详解_施密特触发器特点_施密特触发器的作用...

    描述 什么是施密特触发器 施密特触发器(Schmidt trigger)是包含正回授的比较器电路.它也有两个稳定状态,但与一般触发器不同的是,施密特触发器采用电位触发方式,其状态由输入信号电位维持:对 ...

  6. mysql explain详解_数据库mysql(1)——B+TREE索引原理

    一.B+Tree索引详解 1.什么是索引? 索引:加速查询的数据结构. 2.索引常见数据结构: #1.顺序查找: 最基本的查询算法-复杂度O(n),大数据量此算法效率糟糕. #2.二叉树查找(bina ...

  7. mysql连接数详解_查看mysql当前连接数的方法详解

    1.查看当前所有连接的详细资料: ./mysqladmin -uadmin -p -h10.140.1.1 processlist2.只查看当前连接数(Threads就是连接数.): ./mysqla ...

  8. mysql主从复制原理详解_深入研究MySQL(三)、主从复制原理及演示

    一.主从复制概述 这章来说说主从复制,对于主从复制,有很多知识,在以后分篇记录,所以在这里只说说简单的用法,用来入个门可以,先说啥是主从复制,主从复制就是将一台主机的数据复制到另一台或者多台主机上,复 ...

  9. mysql mha配置文件详解_十四、MySQL MHA 高可用配置(一)

    MHA 高可用 1.准备三台机器 IP:10.0.0.51 主机名:db01 内存:2G IP:10.0.0.52 主机名:db02 内存:2G IP:10.0.0.53 主机名:db03 内存:2G ...

最新文章

  1. stm32 GPIO的8种工作模式
  2. Oracle存储过程小解
  3. Java24-day15(完结)【反射(类加载器、反射)、反射获取构造方法-成员变量-成员方法、模块化(概述、模块基本使用、模块服务使用)】
  4. pmbook 知识领域 第六版_PMP项目管理10大知识领域脑图
  5. 程序设计实习MOOC/自增和自减运算符的重载
  6. ROS2学习(六).ROS概念 - 服务质量设置
  7. 【转】禁用Chrome和Firefox中自动播放的动画GIF
  8. 【Elasticsearch】Lucene 中的 Stored Fields 存储优化 自定义 存储类型 序列化 方式
  9. 跟随进度而变色进度条效果ios源码
  10. js无限加载分页原理实现
  11. 【代码源 Div1 - 102】#323. 最长因子链(dp)
  12. ora-12560:协议适配器错误
  13. Python编程 | 随机生成车牌号
  14. 电子书,世界名著,中国名著
  15. 前端 Vue 浏览器调试工具 Vue.js devtools 安装
  16. 拼多多618来了:500余家官旗齐聚“品牌专场”,发放30亿消费红包
  17. QT简单添加背景图片
  18. Java实现 蓝桥杯VIP 算法提高 P0404
  19. PostgreSQL 14及更高版本改进
  20. 数据库储存Excel表信息

热门文章

  1. mysql数据库主从不同步_MySQL数据库之mysql主从数据库不同步的2种解决方法
  2. 让AIX下的sqlplus也支持回显功能
  3. 计算机真题11Excel,计算机网考真题EXCELPPT操作题答案(11页)-原创力文档
  4. python查看微信撤回消息_python如何查看微信消息撤回
  5. Win1远程出现“这可能是由于credssp加密oracle修正”解决办法
  6. Java 实现固定长度队列,自动删除最早添加的数据
  7. 年前计划之jquery API 重读
  8. 无维护地稳定运行了8 年的 Hyperic HQ
  9. (转) Dockerfile 中的 COPY 与 ADD 命令 1
  10. 修改linux终端的提示字符