MySQL
文章平均质量分 92
张申傲
LangChain/Nacos/MyBatis 核心Contributor
展开
-
MySQL 主从架构原理
MySQL 主从架构原理 一. 主从架构基本原理 上图展示的是 MySQL 的主从切换流程。在 State-1 中,客户端的读写都直接访问节点 A,而节点 B 是 A 的备库,只是将 A 的更新都同步过来,到本地执行。这样可以保持节点 B 和 A 的数据是相同的。当需要切换的时候,就切成状态 2。这时候客户端读写访问的都是节点 B,而节点 A 是 B 的从库。 在主从架构下,建议把从库设置为 Read-Only 模式,这样做有以下几个考虑: 有时候一些运营类的查询语句会被放到备库上去查,设置为只读可以防原创 2020-08-30 11:33:51 · 2024 阅读 · 0 评论 -
MySQL的锁
MySQL的锁 数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。 一. 全局锁 Flush tables with read lock (FTWRL) 让整个库处于只读状态,所有更新操作都会被阻塞。 **全局锁的典型使用场景是,做全库逻辑备份。**如果在做数据的时候不加锁,就可能出现备份的数据和原数据不一致的情况。原创 2020-08-16 17:56:17 · 280 阅读 · 0 评论 -
MySQL日志系统
MySQL 日志系统 一. redo Log redo log 是 InnoDB 引擎特有的功能。 当 MySQL 执行更新操作时,InnoDB 引擎就会先把记录写到 redo log 里面,并更新内存,这个时候更新就算完成了。同时,InnoDB 引擎会在适当的时候,将这个操作记录更新到磁盘里面,而这个更新往往是在系统比较空闲的时候做的。 InnoDB 的 redo log 是固定大小的,比如可以配置为一组 4 个文件,每个文件的大小是 1GB,那么整个 redo log 就可以保存 4G 的数据。red原创 2020-08-12 22:11:34 · 202 阅读 · 0 评论 -
MySQL索引详解
MySQL索引详解 一. 索引简介 索引:帮助MySQL高效查询数据的一种有序的数据结构。 如果没有索引,查询某行数据,只能进行全表扫描。这时,需要频繁地进行磁盘IO,性能很差。 索引一般是一个key-value结构,key是索引值 对于聚集索引(InnoDB),value是该行的所有数据 对于非聚集索引(MyISAM),value是该行所在的磁盘块的指针 二. 常用的索引数据结...原创 2019-12-28 12:25:59 · 1486 阅读 · 1 评论 -
MySQL整体架构
MySQL整体架构 一. Server层 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等)。所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 连接器:连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接建立完成后,连接器会到权限表里面查出该客户端所拥有的权限。之后,这个连接里面所有的权限判断逻辑,都将依赖于此时读到的权限。这就意味着,一个用户成功建立连接后,即使你用管理员账原创 2020-08-12 15:21:03 · 220 阅读 · 0 评论