【MySQL】MySQL体系结构

一 MySQL体系结构

1 体系结构图

2 说明

1)第一层:服务层

主要为客户端服务,做请求连接处理,授权认证及安全;

2)第二层:核心层

主要包含查询解析、分析、优化、缓存,提供内建函数、存储过程及视图等;

3)存储引擎层

主要用于存储数据。

二 MySQL连接方式

1 通过Socket方式

[root@strong ~]# mysql -uroot -pmysql
[root@strong ~]# ll /tmp/mysql.sock
srwxrwxrwx. 1 mysql mysql 0 Apr 13 20:41 /tmp/mysql.sock

通过以上方式进行登录,登录后可在/tmp/下看到对应的socket,可以设置其所在的位置,可通过在my.cnf增加socket参数:

[root@strong ~]# vim /etc/my.cnf
socket=/u01/data/mydb/3306.sock
[root@strong ~]# service mysqld restart
Shutting down MySQL.... SUCCESS!
Starting MySQL.. SUCCESS!
[root@strong ~]# mysql -uroot -pmysql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

注:启动出错,默认还是从/tmp/mysql.sock查找,可通过如下方式进行连接:

[root@strong ~]# mysql -uroot -pmysql -S /u01/data/mydb/3306.sock

2 网络连接方式

网络连接方式即通过IP进行连接,需指定-h选项:

[root@strong ~]# mysql -h127.0.0.1 -P3306 -uroot -pmysql -S /u01/data/mydb/3306.sock

3 skip_networking参数

可以设置该参数,禁止数据库从网络连接,默认是关闭的。

mysql> show variables like 'skip_networking';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.01 sec)

三 SQL语句执行过程

下面将结合MySQL体系结构,来阐述MySQL数据库中SQL语句的执行过程。

1 源码中SQL的执行过程

2 SELECT语句的执行过程

3 Update语句的执行过程

原文地址:https://www.cnblogs.com/alen-liu-sz/p/12975607.html