MySQL技术内幕 InnoDB存储引擎内幕 学习笔记(一)mysql体系结构和存储引擎

1.1数据库和实例

1数据库和实例

数据库:物理操作系统文件或其他形式文件的集合(依照某种数据模型组织起来并存放于二级存储器中的数据集合)

实例:是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库的任何操作都是在数据库实例下进行。

由后台线程及一个共享内存区组成,共享内存可以被运行的后台线程所共享。数据库实例才是真正用于操作数据库文件的。

mysql是单进程多线程数据库,也就是说mysql数据库实例在系统上的表现就是一个进程。

2查看mysql启动时加载配置文件的位置(mysql会以最后读取的配置文件参数为准)

linux 系统

mysql --help|grep my.cnf

windows系统

mysql--help

3datadir

linux系统下默认为/usr/local/mysql/data是一个链接,到/opt/mysql_data,用户必须保证/opt/mysql_data的用户和权限,使得只有mysql用户和组可以访问。

1.2mysql体系结构

1mysql由以下几部分组成:

连接池组件:

管理服务和工具组件:

sql接口组件:

查询分析器组件:

优化器组件

缓冲(Cache)组件

插件式存储引擎

物理文件

注意:存储引擎是基于表,而不是数据库。

1.3mysql存储引擎

1InnoDB存储引擎

2MyISAM存储引擎

3NDB存储引擎

4Memory存储引擎

5Archive存储引擎

6Federated存储引擎

7Maria存储引擎

8其他存储引擎

1.4各存储引擎之间的比较

1.5连接mysql

tcp/ip连接

注:通过tcp/ip连接到mysql实例时,mysql数据库会先检查一张权限视图,用来判断发起请求的客户端ip是否允许连接到mysql实例。查看用户及其允许连接的ip:

use mysql;

select host,user,password from user;

 

 

 

你可能感兴趣的:(database)