MySQL架构介绍

2021-04-01 14:28:53 浏览数 (1)

一、目录结构

  • /var/lib/mysql/:MySQL数据库文件的存放路径;
  • /usr/share/mysql:配置文件目录;
  • /usr/bin:MySQL命令的存放目录;
  • /etc/init.d/mysql:启停相关脚本

二、分层结构

MySQL分为四层,从上到下依次为:

  • 连接层:为应用程序提供连接服务的,比如JDBC;
  • 服务层:这一层名堂很多,首先是有连接池,然后有sql接口,解析器,优化器等东西;
  • 引擎层:真正负责mysql数据的存储和读取的部分,提供了很多可拔插式的存储引擎,常用的有MyIsam和InnoDB;
  • 存储层:MySQL中存储的数据最终都要存在硬盘上,文件存储层就是将数据存储到文件系统,并完成与存储引擎的交互。

上面提到了可拔插式,意思就是,你要给手机充电,你可以放在无线充上,也可以用充电头充,也可以用充电宝充。实现相同的功能,你可以选择不同的实现方式,并且这些实现方式之间互不关联互不影响。

三、innoDB和MyIsam对比

对比项

MyIsam

innoDB

主外键

不支持

支持

事务

不支持

支持

行表锁

表锁,操作一条记录也会锁住整张表,不适合高并发

行锁,只锁住操作的那一行,适合高并发

缓存

只缓存索引,不缓存真实数据

不仅缓存索引,也缓存真实数据,对内存要求较高,内存大小对性能有决定性影响

表空间占用

关注点

性能

事务

是否默认安装

0 人点赞