MySQL的认知及体系结构

很多人对于mysql的认知仅限于知道它是一个数据库,可以存储数据,可以增删改查操作。其实,MySQL很多初学者甚至工作几年的程序员都不了解的真正意义还有很多。

原文地址:侯哥小博 http://37blog.com/?p=208

1、数据库和实例:很容易混淆的两个词
数据库(database):物理操作系统文件或其他形式文件类型的集合。
实例(instance):数据库实例才是真正用于操作数据库文件的,在系统上的表现就是一个进程。
linux系统中可以通过命令启动mysql数据库实例,命令为:
./mysqld_safe&
启动之后可以查看进程     ps -ef | grep mysqld
当实例启动时,mysql数据库会去读取配置文件,根据文件的参数来启动数据库实例,在mysql数据库中,可以没有配置文件,在这种情况下,会按照编译时默认参数设置启动实例。
通过命令可以查看启动时会查找哪些配置文件
mysql –help | grep my.cnf
当有多个配置文件的时候,以最后读取的配置文件为主。配置文件中有一个参数datadir,该参数指定了数据库所在的路径。可以通过mysql命令查看
mysql>show variables like ‘datadir’\G;

Variable_name: datadir
Value:/usr/local/mysql/data/

mysql>system ls-lh /usr/local/mysql/data

从结果可以看出data目录是一个链接,该链接指向了/opt/mysql_data目录。当然,用户必须保证/opt/mysql_data的用户和权限,使得只有mysql用户和组可以访问。

2、MySQL体系结构
上一节说到的数据库和实例的概念,这里要特别强调,从概念上说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合;数据库实例是程序,
是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,都是在数据库实例下进行的。
根据下面mysql官方手册的图分析,MySQL由以下几部分组成:


A)连接池组件(php、C API、Python)
B)管理服务和工具组件
C)sql接口组件
D)查询分析器组件
E)优化器组件
F)缓冲(Cache)组件
G)插件式存储引擎
H)物理文件
MySQL数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统
本身都必须的,如sql分析器和优化器等,而存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来开发。
需要特别注意的是,存储引擎是基于表的,而不是数据库。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值