MySQL 体系结构

连接层:

负责和客户端、用户进行交互,需要和不同的客户端和中间服务器进行交互,建立连接,记住连接的状态,响应它们的请求,返回数据和控制信息(错误信息、状态码等),以及对这些连接进行认证等。

逻辑层:

主要包括了系统管理和控制工具、连接池、SQL接口、解析器、查询优化器和缓存等部分。

存储引擎层:

MySQL中的存储引擎层主要负责数据的写入和读取,与底层的文件进行交互。值得一提的是,MySQL中的存储引擎是插件式的,服务器中的查询执行引擎通过相关的接口与存储引擎进行通信,同时,接口屏蔽了不同存储引擎之间的差异。MySQL中,最常用的存储引擎就是InnoDB和MyISAM

存储层:

文件的物理存储层。主要包含日志文件(redolog,undo.log),数据文件,索引文件,二进制日志,错误日志,配置文件,pid 文件,socket 文件

db.opt文件:主要记录当前数据库使用的字符集和检验规则等信息。

frm文件:存储数据表的结构信息,主要是数据表相关的元数据信息,包括数据表的表结构定义信息,每张表都会有一个frm文件。(MySQL8版本中的innodb存储引擎的表没有frm文件。)

MYD文件:MyISAM存储引擎专用的文件格式,主要存放MyISAM存储引擎数据表中的数据,每张MyISAM存储引擎表对应一个.MYD文件。

MYI文件:MyISAM存储引擎专用的文件格式,主要存放与MyISAM存储引擎数据表相关的索引信息,每张MyISAM存储引擎表对应一个.MYI文件。

ibd文件:存放Innodb存储引擎的数据文件和索引文件,主要存放的是独享表空间的数据和索引,每张表对应一个.ibd文件。

ibdata文件:存放Innodb存储引擎的数据文件和索引文件,主要存放的是共享表空间的数据和索引,所有表共用一个(或者多个).ibdata文件,可以根据配置来指定共用的.ibdata文件个数。

ibdata1文件:MySQL的系统表空间数据文件,主要存储MySQL的数据表元数据、Undo日志等信息。

ib_logfile0和ib_logfile1文件:MySQL数据库中的Redo log文件,主要用于MySQL实现事务的持久性。如果在某个时间点MySQL发生了故障,此时如果有脏页没有写入到数据库的ibd文件中,在重启MySQL的时候,MySQL会根据Redo Log信息进行重做,将写入Redo Log并且尚未写入数据表的数据进行持久化操作。

pid文件:pid文件是存放MySQL进程运行时的进程号的文件,主要存在于Unix/Linux环境中,具体的存储目录可以在my.cnf或者my.ini文件中进行配置,MySQL是一个进程,多线程的服务。

socket文件:socket文件和pid文件一样,都是MySQL在Unix/Linux环境中运行才会有的文件。在Unix/Linux环境中,客户端可以直接通过socket来连接MySQL。

### 关于 IntelliJ IDEA 2023 的可靠性评测和用户反馈 IntelliJ IDEA 是由 JetBrains 开发的一款广泛使用的集成开发环境 (IDE),主要用于 Java 编程语言及其生态系统中的其他语言,如 Kotlin、Groovy 等。对于 2023 版本而言,该版本引入了一系列新特性和改进来提升用户体验。 #### 用户界面优化 JetBrains 对 IntelliJ IDEA 2023 进行了多项用户界面调整,使得操作更加直观便捷[^2]。这些改动不仅提高了初学者的学习曲线友好度,同时也让有经验的开发者能够更高效地完成工作。 #### 性能增强 性能方面,在启动速度上有了显著改善;内存占用也得到了有效控制,减少了因资源不足而导致的应用程序崩溃情况的发生频率。这表明即使是在处理大型项目时也能保持流畅运行状态。 #### 新增功能特性 除了上述提到的基础层面的进步之外,还增加了许多实用的功能插件支持以及对新兴技术框架的良好适配能力,比如 Spring Boot、Micronauts 等微服务架构的支持进一步加强。 #### 社区与官方评价 来自社区和技术论坛上的大多数评论都倾向于正面肯定这一更新带来的变化。很多长期使用者表示新版确实解决了之前存在的某些痛点问题,并且整体稳定性有所提高。不过也有少部分声音指出存在个别 bug 或者不适应新的 UI 设计风格的情况,但这属于正常现象并且 JetBrains 官方团队通常会迅速响应并修复已知问题。 ```java // 示例代码展示如何在 IntelliJ IDEA 中创建简单的 Java 应用程序 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值