mysql体系原理

Posted anyux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql体系原理相关的知识,希望对你有一定的参考价值。

客户端与服务器端模型

mysql是一个单进程,多线程的程序
mysql自带的程序
mysql 
mysqladmin
mysqldump
mysqld
二进制的程序,一个后台守护进程
单进程多线程的服务结构

 

客户端连接服务

tcp/ip连接(远程连接)
mysql -uroot -p123456 -h 10.0.0.52

mysql -uroot -p123456 -s /tmp/mysql.sock

套接字(本地连接)
mysql -uroot -p123456 -s /tmp/mysql.sock
mysql -uroot -p123456 使用socket方式登陆

  实例

mysql在启动过程
-启动后台守护进程,并生成工作线程
-预分配内存结构供mysql处理数据使用
实例是什么
mysql后台进程+线程+预分配的内存结构

mysql服务器构成

 

连接层

通信协议 tcp/ip socket
分配线程,提供服务
验证连接合法性

 sql层

解析器
授权
优化器
查询执行
查询高速缓存
查询缓存日志记录

 存储引擎层

插件式
磁盘 innodb myisam
内存 memory
网络 ndb
存储引擎是充当不同表类型的处理程序的服务器组件
存储引擎用于:
存储数据
检索数据
通过索引查找数据
双层处理
上层包括sql解析器和优化器
下层包含一组存储引擎
sql层不依赖于存储引擎
引擎不影响sql处理
有一些例外

 功能

存储介质
事务功能
锁定
备份和恢复
优化
特殊功能:
全文搜索
引用完整性
空间数据处理

mysql逻辑结构 

--
    show databasses;
--
    show tables;
--记录 
    select * from database.table;
--字段
    desc user;

mysql如何使用磁盘

数据库对应的是目录
表对应的是三个文件
[root@root mysql]# ll user.*
-rw-rw---- 1 mysql mysql 10684 Dec 12 23:23 user.frm
-rw-rw---- 1 mysql mysql   488 Dec 13 20:47 user.MYD
-rw-rw---- 1 mysql mysql  2048 Dec 13 20:47 user.MYI
MYISAM
  .frm文件是字段结构
  .myd是记录数据
  .myi是索引记录
innodb
  db.opt  
  t1.frm  文件是字段结构
  t1.ibd   是记录数据和索引
共享表空间: ibdata1 ibdata2 (系统元数据--基表---information_schema---show)
独立表空间: t1.ibd t1.frm 5.6以后默认的存储引擎
创建一个数据库和表,查看独立表空间的区别

 mysql存储底层结构(段、区、块 

 mysql连接管理

 

 

以上是关于mysql体系原理的主要内容,如果未能解决你的问题,请参考以下文章

MySQLMySQL体系结构与内部组件工作原理解析(原理篇)(MySQL专栏启动)

巩固知识体系!mysql重启服务linux

巩固知识体系!mysql重启服务linux

视频教程 | MySQL底层原理与性能调优

20160219.CCPP体系详解(0029天)

mysql体系结构理解与分析