MySQL 是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL 完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。MySQL用C和C++编写,它可以工作在许多平台(Unix,Linux,Windows)上,提供了针对不同编程语言(C,C++,JAVA等)的API函数;使用核心线程实现多线程,能够很好的支持多CPU;提供事务和非事务的存储机制;快速的基于线程的内存分配系统;MySQL采用双重许可,用户可以在GNU许可条款下以免费软件或开放源码软件的方式使用MySQL软件,也可以从MySQL AB公司获得正式的商业许可。
除了以上特点,MySQL 还有一个最大的特点,那就是在诸如 UNIX 这样的操作系统上,它是免费的,可从因特网上下载其服务器和客户机软件。并且还能从因特网上得到许多与其相配的第三方软件或工具。而在 Windows 系统上,其客户机程序和客户机程序库是免费的。
1.1. 为什么选用 MySQL
如果您正在寻找一种免费的或不昂贵的数据库管理系统,可以有几个选择,如,MySQL、mSQL、Postgres(一种免费的但不支持来自商业供应商引擎的系统)等。在将 MySQL 与其他数据库系统进行比较时,所要考虑的最重要的因素是性能、支持、特性(与 SQL 的一致性、扩展等等)、认证条件和约束条件、价格等。相比之下,MySQL 具有许多吸引人之处:
1. 速度。MySQL 运行速度很快。开发者声称 MySQL 可能是目前能得到的最快的数据库。可访问 http://www.mysql.com/benchmark.html (MySQL Web 站点上的性能比较页),调查一下这个性能。
4. MySQL 除了提供内嵌软件外,它还被许多很有才能的人使用。这些人喜欢编写软件以提高其产品效率,或愿意将自己编写的软件提供给他人使用。因此,使用 MySQL能得到各种各样的第三方工具,这些工具令 MySQL使用更方便,或者扩展了 MySQL,使其进入诸如 Web 站点开发这样的领域。
1.3. MySQL 是否免费
MySQL 不是一种开放的源代码产品,但一般可以免费使用。可以参考“MySQL 参考指南”的许可说明,其基本内容如下:
1. 客户机程序和客户机编程库在所有平台上都是免费的。
2. 在 UNIX 和其他非 Windows 平台上,MySQL 服务器可免费使用,但不能出售它或出售需要它的任何软件或服务。如果这样做,应该得到服务器的使用许可证。理由是,如果用 MySQL 赚钱,那么应当分一些给MySQL 的开发者($495 对有助于您赚钱的专业的 RDBMS 来说是很便宜的,并且还有大量的免费软件,可用来帮助您更有效地使用 MySQL。)
3. MySQL 服务器的 Windows 版本需要许可证。目前MySQL Pro在网上的报价(注意MySQL Pro是MySQL的商业版本):
http://www.mysql.com/products/pricing.html
MySQL Pro includes the InnoDB transactional storage engine, which provides row-level locking.
Number of licenses
Price per copy
EUR
USD
GBP
1 .. 9
440.00
495.00
290.00
10 .. 49
315.00
360.00
205.00
50 .. 99
255.00
290.00
165.00
100 .. 249
195.00
220.00
127.00
250 .. 499
155.00
175.00
100.00
500 +
ask for quote, sales@mysql.com
4. MySQL 的较旧的版本通过 GNU Public License(GPL)许可证可以得到,并可用于任何用途而无需付费。MySQL 3.20.32a 在 GPL 条件下可用。
5. 无论是否需要服务器许可证,都可在付费的基础上从 MySQL 开发者那里得到正式的技术支持,本人提请读者注意这一点。(特别是如果您的公司主管不赞成使用没有如此保证的软件时更是如此。)MySQL提供多种级别的技术支持,除了得到极好的支持外,您还能帮助MySQL的开发,进而使整个MySQL世界受益。
6. 关于 Windows 许可证的说明
有时候有人会问,“我使用的是 Windows,为什么必须取得 MySQL 服务器的许可证呢?”这是一个很合理的问题,而且也存在一个合理的答案,那就是软件开发的费用。为了从事软件开发,需要一个操作系统和一些开发工具,如编辑器和编译器等。就这些需求而言,在 UNIX 的开发与 Windows 的开发之间存在根本的不同。在 UNIX 下,可免费得到几乎所有东西:
a) 使用的操作系统有几个选择,如 Linux 或免费的 BSD 系列,譬如 FreeBSD、NetBSD 和 OpenBSD。
b) 使用的开发工具,这些操作系统全都带有编辑器,如 vi 和编辑程序宏指令及 gcc 和 egcs 这样的编译器。
c) 在升级这些操作系统或发布开发工具时,可从因特网上下载它们或从一个便宜的 CD 上得到,即使是进行重大的修改也是这样。
而在 Windows 上开发软件却相当昂贵,例如:
a) 操作系统不是免费的。
b) 开发工具,如编译器不是免费的。
c) 操作系统或工具的升级时,除非是小问题的修改或作微小的升级,否则要再次付费。所有这些表明,UNIX 下的软件开发成本几乎是零,而在 Windows 其成本相当可观。MySQL 的开发者可能愿意继续研究 MySQL,但他们不希望为这种权利付那么多钱。不管怎么说,其 Windows 的开发成本必须收回,发售MySQL 许可证就是一种手段。
1.4. 目前版本
可以在网上下载的MySQL版本如下:
MySQL 4.0 -- Production release (recommended)
MySQL 4.1 -- Alpha release (use this for new development)
MySQL 5.0 -- Development tree (use this for previewing and testing new features)