一.mysql客户端和服务端模型
1.mysql是一个典型的C/S服务结构
1.1 mysql自带的客户端程序(/application/mysql/bin)
MySQL客户端:
1.mysql
2.mysqldump
3.mysqladmin
1.2第三方工具
1.navicat
2.sqlyog
3.phpmyadmin
1.3mysqld一个二进制程序,后台的守护进程
单进程
多线程
2MySQL的连接方式
2.1TCP/IP的链接方式
mysql -uroot -p123 -h10.0.0.52
2.2Socket套接字连接方式
#以下三种均为socket
mysql -uroot -p123 -S /tmp/mysql.sock
mysql -uroot -p123 -hlocalhost
mysql -uroot -p123
总结:
1.-h不一定都是tcp连接
2.MySQL默认使用socket连接
3.-S只允许本地连接,无法远程连接
4.tcp连接需要建立3次握手,所以MySQL默认使用socket(速度快)
二.MySQL服务器构成
2.1什么是实例?
1.MySQL的后台进程+线程+预分配的内存结构。
2.MySQL在启动的过程中会启动后台守护进程,并生成工作线程,预分配内存结构供MySQL处理数据使用。
2.2mysqld的程序结构
2.2.1连接层
1.验证用户的合法性(ip(主机域),端口,用户名,密码,)
2.提供了两种连接方式(TCP/IP Socket)
3.建立一个与SQL层连接的线程
2.2.2SQL层
1.接收连接层传来的SQL语句
2.检测语法
3.检测