一、基本概念
-
数据库:物理操作系统文件或其他形式文件类型的集合。
-
数据库实例:
MySQL
数据库由后台进程以及一个共享内存区组成。数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合;数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在数据实例下进行的,应用程序只有通过数据库实例才能和数据库打交道。
MySQL
被设计为一个单进程多线程架构的数据库,MySQL
数据库实例在系统上的表现就是一个进程。MySQL
数据库是按照/etc/my.cnf → /etc/mysql/my.cnf → /usr/local/mysql/etc/my.cnf → ~/.my.cnf
的顺序读取配置文件的。在Linux环境下,配置文件一般放在/etc./my.cnf
下。配置文件中有一个配置参数datadir
,该参数指定了数据库所在的路径。在Linux操作系统下默认datadir
为/usr/local/mysql/data
。
连接MySQL
操作是一个连接进程和MySQL
数据库实例进行通信。常用的进程通信方式有管道、命名管道、命名字、TCP/IP
套接字、UNIX
域套接字。TCP/IP
套接字方式是MySQL
数据库在任何平台下都提供的连接方式,也是网络中使用得最多的一种方式。
二、MySQL
组成
- 连接池组件
- 管理服务和工具组件
- SQL接口组件
- 查询分析器组件
- 优化器组件
- 缓冲组件
- 插件式存储引擎
- 物理文件