一 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语句的执行过程。