LAMP黄金组合——系列三MySQL

MySQL 名字的来历
MySQL 最初的开发者的意图是用 mSQL 和他们自己的快速低级例程 (ISAM) 去连接表格。不管怎样,在经过一些测试后,开发者得出结论: mSQL 并没有他们需要的那么快和灵活。这导致了一个使用几乎和 mSQL 一样的 API 接口的用于他们的数据库的新的 SQL 接口的产生,这样,这个 API 被设计成允许为用于 mSQL 而写的第三方代码更容易移植到 MySQL
MySQL
这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀 “my” 已经有 10 年以上,而且不管怎样, MySQL AB 创始人之一的 Monty Widenius 的女儿也叫 My 。这两个到底是哪一个给出了 MySQL 这个名字至今依然是个密,包括开发者在内也不知道。
MySQL
的海豚标志的名字叫 “sakila” ,它是由 MySQL AB 的创始人从用户在 海豚命名 的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者 Ambrose Twebaze 提供。根据 Ambrose 所说, Sakila 来自一种叫 SiSwati 的斯威士兰方言,也是在 Ambrose 的家乡乌干达附近的坦桑尼亚的 Arusha 的一个小镇的名字。
MySQL 的概述
MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
MySQL 的特性
1. 使用 C C 编写,并使用了多种 编译器 进行测试,保证源代码的可移植性
2.
支持 AIX FreeBSD HP-UX Linux Mac OS Novell Netware OpenBSD OS/2 Wrap Solaris Windows 等多种操作系统
3.
为多种编程语言提供了 API 。这些编程语言包括 C C Eiffel Java Perl PHP Python Ruby Tcl 等。
4.
支持 多线程 ,充分利用 CPU 资源
5.
优化的 SQL 查询算法,有效地提高查询速度
6.
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的 编码 如中文的 GB 2312 BIG5 ,日文的 Shift_JIS 等都可以用作数据表名和数据列名
7.
提供 TCP/IP ODBC JDBC 等多种数据库连接途径
8.
提供用于管理、检查、优化数据库操作的管理工具
9.
可以处理拥有上千万条记录的大型数据库
MySQL 的应用

与其他的大型数据库例如 Oracle DB2 SQL Server 等相比, MySQL 自有它的不足之处,如规模小、功能有限( MySQL 不支持视图(已经被列入 5.1 版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说, MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。

目前 Internet 上流行的网站构架方式是 LAMP Linux Apache MySQL PHP ),即使用 Linux 作为操作系统, Apache 作为 Web 服务器, MySQL 作为数据库, PHP 作为服务器端脚本解释器。由于这四个软件都是遵循 GPL 的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。
MySQL 管理

可以使用命令行工具管理 MySQL 数据库(命令 mysql mysqladmin) ,也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator MySQL Query Browser

phpMyAdmin
是由 php 写成的 MySQL 资料库系统管理程式,让管理者可用 Web 介面管理 MySQL 资料库。

phpMyBackupPro
也是由 PHP 写成的,可以透过 Web 介面创建和管理数据库。它可以创建伪 cronjobs ,可以用来自动在某个时间或周期备份 MySQL 数据库。

Mysql 存储引擎

MyISAM      Mysql
的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB      
事务型数据库的首选引擎,支持 ACID 事务,支持行级锁定
BDB         
源自 Berkeley DB ,事务型数据库的另一种选择,支持 COMMIT ROLLBACK 等其他事务特性
Memory      
所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 Mysql 重新启动时丢失
Merge      
将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用
Archive     
非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。 Archive 拥有高效的插入速度,但其对查询的支持相对较差
Federated   
将不同的 Mysql 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB
高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV         
逻辑上由逗号分割数据的存储引擎
BlackHole   
黑洞引擎,写入的任何数据都会消失

另外, Mysql 的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。
Mysql 最常见的应用架构
单点 (Single) ,适合小规模应用
复制 (Replication) ,适合中小规模应用
集群 (Cluster) ,适合大规模应用
Mysql6.0
alpha 版于 2007 年初发布,新版增加了对 falcon 存储引擎的支持。 Falcon Mysql 社区自主开发的引擎,支持 ACID 特性事务,支持行锁,拥有高性能的并发性。 Mysql AB 公司想用 Falcon 替代已经非常流行的 InnoDB 引擎,因为拥有后者技术的 InnoBase 已经被竞争对手 Oracle 所收购。
2008
1 16 日, Sun Microsystems 宣布收购 MySQL AB ,出价约 10 亿美元现金外加期权。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值