MySQL学习【第四篇mysql体系结构管理】
一.客户端与服务端模型
1.mysql是一个典型的c/s服务结构
1.mysql自带的客户端程序(/application/mysql/bin)
mysql mysqladmin mysqldump
2.市面上大部分的开发语言都需要一个客户端连接程序连接mysql的服务端
2.mysql是一个守护进程,是一个二进制的程序
mysql.server是一个启动脚本,mysqld_safe是一个启动命令,mysqld则是一个守护进程
3.连接客户端方式
1.TCP/IP
mysql -uroot -p123 -h127.0.0.
2.socket(套接式连接)
mysql -uroot -p123 -S /tmp/mysql.sock
mysql -uroot -p123
mysql -uroot -p123 -hlocalhost
3.查看连接方式
1.并不是所有-h都是tcp/ip连接,所有远程连接都是tcp/ip连接
2.MySQL的默认连接时socket连接
3.socket连接速度十分快速,由于不需要建立tcp三次握手
4.实例
mysql的后台进程+线程+预分配的内存结构
5.mysql服务器的构成
1.连接层
1)验证用户的合法性(ip,端口,用户名,密码,防火墙)
2)提供两种连接方式(tcp/ip,socket)
3)提供与sql层互相交互的专用线程
4)查看文件是否拥有权限,执行某条sql语句
2.sql层
1)接受连接层传来的sql语句
2)检查语法能否执行
3)检查语义(DDL,DML,DQL,DCL)
4)解析器,解析sql语句,生成多种执行计划
5)优化器,根据多种执行计划,选择最优的一种
6)执行器,执行最优的执行计划
提供跟存储引擎层交互的线程
接受返回的数据返回给连接层
7)将数据存入缓存
8)记录binlog日志
3.存储引擎层
1)接受sql层传下来的sql语句
2)去磁盘空间寻找所要查找的数据
3)提供一个与sql层交互的线程,将数据结构化成表的形式传给sql层
6.mysql的逻辑结构
1.库: show databases;
2.表: 元数据+真实数据行 show tables;
3.元数据: 列+其他属性(行数row+占用空间大小+权限)
4.列: 列名+数据类型+其他约束(非空,唯一键,主键,默认值,自增长,非负数等等)
7.mysql的物理结构
1.mysql最底层的物理结构是数据文件
2.存储引擎,存储引擎分很多种,mysql常用到的是InnoDB,MyISAM
3.段区块:
1( 段:一个表一个段,多个区构成
2( 区:多个页构成
3( 页:最小数据存储单元。默认16k
4( 分区表:一个分区是一个段
最新文章
- MySQL 变量和条件
- 从英文变形规则计算到Restful Api设计
- C# Winform程序把引用的dll放到指定目录
- web前端攻击详解
- 一个PHP混淆后门的分析
- 初识ActionScript
- Vmare12(虚拟机)安装Mac OS X Yosemite 10.10
- EasyUI DataGrid定制默认属性名称
- 动态数组ArrayList的使用
- linux_磁盘体系
- jq三级联动
- select 两层 第二个select需要加别名
- js数组根据指定字段(true or false)排序
- 范型方法 &; 范型参数 &; 范型返回值
- html5(四) canvas
- Codeforces.392E.Deleting Substrings(区间DP)
- IntelliJ idea 的破解
- Android ViewPage的使用(一)
- HTTP 请求未经客户端身份验证方案“Anonymous”授权。
- Spring中@Resource与@Autowired
热门文章
- 对layoutInflater的理解
- Android埋点技术分析
- centos7.2+php7.2+nginx1.12.0+mysql5.7配置
- 数据可视化d3.v4.js
- 第四章 数据库和SQL 4-3 数据的更新(UPDATE语句的使用方法)
- SQL Server ->;>; 存储过程sp_describe_first_result_set解析T-SQL语句的结果集结构信息
- RHEL7系统管理之网络管理
- 转:C# WinForm窗体及其控件的自适应
- Python静态方法实现单实例模式
- Linux 系统DNS解析原理