一、简单了解MySQL数据库的体系结构
(一)MySQL架构图
(二)MySQL体系结构:连接层、服务层、引擎层、存储层
1、连接层--主要职责:身份认证,连接管理,获取权限信息
(1)客户端访问MySQL第一件事就是通过三次握手与服务端建立TCP连接。服务端会有TCP线程池,当收到连接请求后会分配一个线程专门对接这个客户端。
(2)连接成功后,MySQL服务器对TCP中客户端传输过来的账号密码进行身份认证、权限获取。
(3)若是用户名/密码不对,服务端会收到Access denied for user 错误,客户端则执行结束;
2、服务层--服务层主要完成大多数的核心服务功能:
(1)SQL接口(Interface):接收SQL指令,返回查询结果;
(2)解析器(Parser):解析输入的SQL语句,将SQL语句解析成MySQL服务器能认识的语言;
(3)优化器(Optimizer):优化SQL,MySQL会选择自己认为最优的方式(不是程序员认为最优的方式)执行解析后的SQL语句;
(4)缓存(Caches):缓存执行的SQL的查询等结果,不同客户端之间可共享查询缓存。(缓存包括:表缓存、记录缓存、key缓存、权限缓存等)
3、引擎层面
存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过AP和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要选择合适的存储引擎。
4、储存层
主要是将数据储存在文件系统之上,并完成与储存引擎的交互,所有的数据、数据库、表的定义,表的内容、索引,都是存储在文件系统上,以文件的方式存在并完成与存储引擎的交互。
二、MySQL数据库的安装方法
(一)RPM包安装--测试开发环境
1 离线安装
1.1 下载RPM安装包,上传至服务器
[root@node1 ~]# ll mysql*
-rw-r--r-- 1 root root 584652800 Jul 5 11:12 mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
1.2 解压RPM软件包
#创建存放解压文件的目录
[root@node01 ~]# mkdir mysql
#解压文件
[root&