mysql目前是开源界应用最为广泛的数据库软件了。相对于重量级的商业产品如oracle、DB2、SQL Server等,Mysql最大的特点就是开源免费。个人用户可以down一个下来,自己搭个网站玩玩。大型互联网企业诸如阿里、网易之类的也可以针对mysql做mysql集群和存储引擎的开发。
今天主要是想解释一下mysql体系中,数据库和数据库实例的概念。很多人都在用mysql,也有很多人认为数据库就是数据库实例,就是mysql。但细究下来,其概念还是有些区别的。
数据库:
顾名思义,数据库,就是保存数据的仓库,具体到mysql中,数据库其实是一系列数据文件集合。这些数据文件以特定的格式,记录了你想要的数据,并保存在你的服务器的某个目录上。在mysql的配置文件my.cnf中,datadir的选项就是对应的数据库文件存放的目录。在mysql,这些数据库文件以frm、idb等为后缀。这些文件集后到一起,便组成了一个数据库。
数据库实例:
那什么是数据库实例呢?简单讲,数据库实例就是访问数据库的应用程序。在Mysql中,就是mysqld进程了。我们要想对数据库文件进行增、删、查、改的操作,直接通过文件系统操作数据库文件是不可能的,也是不允许的。这就需要数据库实例的帮助。数据库实例这个应用程序实现了对数据库操作的封装,同时也实现了SQL语言的解析,让用户用SQL语言这种简单直接的方式去操作数据库的内容。
以上就是Mysql体系中,数据库和数据实例两种概念的区别和联系。当然,在不同场景下,也可能会有不同的解读。仅供参考。