第07章_InnoDB数据存储结构 1. 数据库的存储结构:页索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的, MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同存储引擎中存放的格式一般是不同的, 甚至有的存储引擎比如Memory都不用磁盘来存储数据。由于InnoDB是MySQL的默认存储引擎,所以本章剖析InnoDB存储引擎的 2021-04-20 MySQL #MySQL #数据库
第06章_索引的数据结构 ==索引是存储引擎用于快速找到数据记录的一种数据结构==,就好比一本教科书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条一条地查找记录,直到找到与条件符合的记录。 如上图所示,数据库没有索引的情 2021-04-19 MySQL #MySQL #数据库
第05章_存储引擎 为了管理方便,人们把连接管理、查询缓存、语法解析 、查询优化这些并不涉及真实数据存储的功能划分为MySQL server 的功能,把真实存取数据的功能划分为存储引擎的功能。所以在MySQL server 完成了查询优化后,只需按照生成的执行计划调用底层存储引擎提供的API,获取到数据后返回给客户端就好了。 MySQL中提到了存储引擎的概念。简而言之,存储引擎就是指表的类型。其实存储引擎以前叫做表处 2021-04-18 MySQL #MySQL #数据库
第04章_逻辑架构 1. 逻辑架构剖析1.1MySQL服务端的逻辑架构说明首先MySQL是典型的C/S架构,即Clinet/Server 架构,服务端程序使用的mysqld。 不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果是:**客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)**。 那服务器进程对客户端进程发送的请求做了什么处理,才 2021-04-17 MySQL #MySQL #数据库
第03章_用户与权限管理 1.2用户管理概述MySQL用户可以分为普通用户和root用户,root用户是超级管理员,拥有所有权限,包括创建用户,删除用户和修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。 ==MySQL提供了许多语句来管理用户账号,这些语言可以用来管理包括登录和退出MySQL服务器,创建用户,删除用户、密码管理和权限管理等内容。== == 2021-04-17 MySQL #MySQL #数据库
第02章_MySQL数据目录 1. MySQL8的主要目录结构find / -name mysql 1.1 数据库文件的存放路径show variables like 'datadir'; # /var/lib/mysql/ 1.2 相关命令目录相关命令目录:/usr/bin 和/usr/sbin。 1.3 配置文件目录配置文件 2021-04-16 MySQL #MySQL #数据库
第01章_Linux下MySQL的安装与使用 1. 安装前说明1.1 查看是否安装过MySQL 如果你是用rpm安装, 检查一下RPM PACKAGE: rpm -qa | grep -i mysql # -i 忽略大小写 检查mysql service: systemctl status mysqld.service 1.2 MySQL的卸载1. 关闭 mysql 服务 systemctl stop mysqld.service 2021-04-15 MySQL #MySQL #数据库
第18章_MySQL8其他新特性 MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。 1.1 MySQL8.0 新增特性1. 更简便的NoSQL支持NoSQL泛指非关系型数据库和数据存储。随 2021-04-14 MySQL #MySQL #数据库
第17章_触发器 在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如商品信息和库存信息分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。 这样一来,我们就必须把这两个关联的操作步骤写到程序里面,而且要用事务包裹起来,确保这两个操作成为一个原子操作,要么全部执行,要么全部不执行。要是遇到特殊情况,可能还需要对数据进行手动 2021-04-12 MySQL #MySQL #数据库
第16章_变量、流程控制与游标 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。 在 MySQL 数据库中,变量分为系统变量以及用户自定义变量。 1.1 系统变量1.1.1 系统变量分类变量由系统定义,不是用户定义,属于服务器层面。启动MySQL服务,生成MySQL服务实例期间,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的 2021-04-11 MySQL #MySQL #数据库