欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL的原理,安装和基本使用

程序员文章站 2022-04-09 09:54:41
...

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等5.优化:执行路径的选择,生

mysql执行流程:

mysql是一个单进程的服务,对于每一个请求都是用线程来响应的,这就需要一个连接器来处理新用户的请求,响应,销毁

MySQL的原理,安装和基本使用


1.客户端请求,服务器端(连接器)开辟线程响应用户

2.用户发起SQL语句查询数据库

3.查询缓存:记录用户的SQL查询语句,如果再次查询同样内容,就返回缓存

4.如果缓存没有进入分析器:(分析器也可能借签缓存)

语法分析器:用户命令语法是否正确

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等

5.优化:执行路径的选择,生成执行树

每个SQL语句都有很多执行路径,优化的目的就是在这些执行路径里选择一个最优的执行路径

6.存储引擎:用于管理存储在文件系统,甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。


#查询缓存可以大大加速这个过程,不过缓存本身可能带来劣势,假如一个用户要查询一个数据,正好缓存里有,而在之前,这条数据刚刚被修改过那么返回的缓存结果就是过时的。


MYSQL的结构:

MySQL的原理,安装和基本使用


客户端:mysql

连接器: NativeC API 本地C语言接口

JDBCJAVA的数据库连接器

ODBC开放式数据库互联,非常底层 OracleSOLServer都支持

连接池(conetcionpool):它的后方是MYSQL的真正功能

SQL接口:用户通过sql客户端发过来的命令,由sql接口接收

DML数据操作语言:查询,修改,升级数据等

DDL数据定义语言:创建一个新的数据库,新的索引,删除一个用户等

存储过程视图触发器


Parser:分析器

查询 事务 对象权限

optimizer:访问路径

生成执行树


caches&buffers:缓存和缓存

优化里最重要的是缓存的优化


pluggablestroage engines存储引擎(插件式):将逻辑结构转换为物理结构的程序

ManagementServices & Utilites工具:备份,恢复,,安全,移植,集群等,这些工具一般和文件系统打交道,不需要和mysql-server打交道,它们对应的都是命令。

数据库对象:(逻辑)

表,二维关系

索引

视图

触发器

存储过程

存储函数

事件調读器

游标

用户


物理

文件


将数据库对象和物理对象对应起来就是存储引擎

Mysql

*插件式的存储引擎


mysqlmysql的连接方式:tcp,socket,pipe,memory


mysql的交互方式:interact batch


SQL

结构化查询语言

bash

select,update,create,drop


Mysql安装

版本选择:

GA

RC

beta

alpha


在以后的使用过程中,RPM包很方便,但是会带来各种问题,所以尽量使用编译安装甚至是LFS

Mysql-client

Mysql-devel:编译安装软件包,需要用到Mysql的时候才安装这个软件包

Mysql-embedded: mysq嵌入式

Mysql-ndb-management

Mysql-server

Mysql-shared:可能被客户端或者服务器端的某些工具用到

Mysql-shared-compat

Mysql-test:测试Mysql,提供测试组件


一般来讲,完全的MYSQL只需要安装clientdevel share server


安装目录的作用

bin

data默认情况下将数据和索引存放的目录

inclued

lib

man

mysql-test

scripts安装时的初始化脚本

share某种特定语言的错误信息的,信息原始文件存放

sql-bench压力测试工具

support-file提供一些初始化的文件和脚本

MySQL的原理,安装和基本使用