2011年(42)
分类: LINUX
2011-09-12 13:44:01
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。对于为什么叫MySQL!据老师说是来源于开发者一个女儿的名字。
常见的数据库:
IBM DB2,Oracle,Informix,Sybase,微软的 SQL Server,MySQL,postgreSQL-->EnterpriseDB(除了崩溃后恢复不如mysql,其他的性能是相当优越的)等等
与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
LAMP
目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
所以说我们接下来对数据库这方面就是对MySQL的学习,虽然前景不容乐观,但是由于Oracle的承诺,和Orcale的实力来说,应该会有还不错的发展,至于以后的使用费用上可能会十分的不乐观!在了解了MySQL的过去和现在以及未知的将来后,我们还是来学习下MySQL的使用吧!不过在此之前我们还要先了解MySQL的基本架构和特点以及特性也就是说这一篇将是纯理论的部分,在下一篇会对SQL语句和MySQL相关的管理和使用的命令做详细的介绍!开发部分自然不会涉及!
MySQL 是开源的关系型数据库,遵循GUN规范,这也是MySQL流行的主要原因之一。
特点:多线程,多任务,插件式的存储引擎(最特别的地方之一)。
版本MySQL version
GA 生产环境中使用的版本 使用MySQL 官方提供的rpm包
RC 候选版
beta 公测
alpha 内测
特点:速度快,稳定可靠性好,可扩展性,易用,可移植性和兼容性,支持多用户,国际化,支持广泛的应用程序,开源。
相关的组件:
MySQL Server 核心组件,提供MySQL服务
MySQL Cluster MySQL的集群服务组件
MySQL Administrator MySQLd的图形化管理工具
MySQL Query Browser 查询浏览器
MySQL Migration Toolkit 实现数据迁移功能的工具,可以将其他数据库中的数据迁移到MySQL中
MySQL Embedded Server 嵌入式MySQL Server
MySQL Dirvers and Connectors 驱动和各种语言的连接器(即各种接口)
mysql图形化工具:
SQLyog
MySQLFront
phpMyAdmin
MySQL Query Browser
MySQL Administrator
MySQL Workbench
相关软件包:MySQL RPM Packages
MySQL-client *
MySQL-debuginfo 调试信息
MySQL-devel *
MySQL-embedded 嵌入式MySQL引擎
MySQL-ndb-management 集群
MySQL-server 服务器端 *
MySQL-shared *
MySQL-shared-compat 向前兼容的包
MySQL-test 测试组件
带*号的是我们在学习和实验过程中能用到的!
安装方式:
rpm包安装(redhat系统自带的,mysql官方提供的)
binaryformat 二进制包绿色安装
sourcecode 源码编译安装
初始化配置:
/etc/my.cnf
/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf
/path/to/file when defaults-extra-file=/path/to/file is specified
~/.my.cnf
每次启动的时候都按这种次序寻找,若多个配置文件中配置有冲突以最后找到的配置为准。
$MYSQL_HOME 定义MySQL 工作目录若未设置则默认为 basedir 数据目录
windows下的查找次序:
%WINDIR%\my.ini,%WINDIR%?\my.cnf
如上图所示即为整个MySQL的应用架构!MySQL最大的特点之一就是插件式的存储引擎,从上图中可以看出MySQL支持的存储引擎有哪些,在后续的博文中会有进一步的介绍,这里不再赘述,关于MySQL的安装及配置前面的文章中也有介绍,在此处也不在详解,关于MySQL的源码安装等有时间了再弄吧,对于LINUX的学习已经接近尾声了,其实最近感觉课程很快,有点儿吃不消,很多东西都没来得及总结,打算等结束后再花点儿时间对学过的东西进行巩固和总结!有关MySQL理论部分的暂时介绍到这里,接下来的博文里会对MySQL的管理命令,SQL语句的使用,以及MySQL的备份和恢复,用户权限的分配和管理等会有较详细的介绍!不过由于各种原因吧!可能会迟几天!敬请期待!