MySQL存储引擎InnoDB学习01-MySQL体系结构和存储

2022-04-23  本文已影响0人  Tian_Peng

第一章:MySQL体系结构和存储引擎

Mysql被设计为一个单进程多线程的架构的数据库,MySql数据库实例在系统上的表现就是一个进程。
当我们启动一个Mysql实例时,MySQL数据库会去读取配置文件,根据配置文件的参数来启动数据库实例(这与Oracle的参数文件spfile相似,但不同的是,Oracle中如果没有参数文件,在启动实例时会提示找不到该参数文件,数据库启动会失败。而在MySQL数据库中,可以没有配置文件,这时MySQL会按编译时默认的参数启动实例),MySQL数据库是按如下顺序读取配置文件的:

/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/mysql/etc/my.cnf
~/.my.cnf

如果配置文件中有相同配置参数,则以最后一个配置文件中参数为准。
配置文件中有个参数datadir,该参数指定了数据库所在的路径,Linux系统下默认为usr/local/mysql/data

1.1 MySQL体系结构

mysql体系结构 .png

MySQL由以下几部分组成:

需要特别注意的是:存储引擎是基于表的,而不是数据库。

1.2 MySQL存储引擎

存储引擎是MySQL区别于其他数据库的一个最重要特性,存储引擎的好处是:每个存储引擎都有各自的特点,能够根据具体的应用建立不同存储引擎表,由于MySQL的开源特性,用户还可以根据MySQL预定义的存储引擎接口编写自己的存储引擎。

1.2.1 常见存储引擎

注意:对于MyISAM存储引擎表,MySQL数据库只缓存其索引文件,数据文件的缓存交由操作系统本身来完成,这与其他LRU算法缓存数据的大部分数据库不同。此外,在MySQL5.1.23版本之前,无论是在32位还是64位操作系统环境下,缓存索引的缓冲区最大只能设置为4GB,在之后的版本中,64位的操作系统可以支持大于4GB的索引缓冲区。

1.3各个存储引擎的比较

不同MySQL存储引擎相关特新比较.png

如何查看自己当前使用的MySQL数据库所支持的存储引擎?

上一篇 下一篇

猜你喜欢

热点阅读