MySQL数据库的官方网站 http://www.mysql.com,发布的MySQL版本采用双授权政策,与大多数开源产品路线一致,MySQL也有社区版和企业版之分,且这两个版本又各自分为了四个版本依次发布,分别是:Alpha版、Beta版、RC版和GA版。
1 MySQL数据库企业版与社区版的区别
1.1 MySQL数据库企业版介绍
MySQL企业版由MySQL AB公司内部专门的人员负责开发及维护,同时也会吸纳社区人员编写的优秀代码及算法,并且由他们严格依照软件测试流程对代码进行测试,确定没有问题之后才会进行发布。简单说,MySQL企业版是由MySQL公司内部发布的,它参考了社区版的先进代码功能和算法,是MySQL公司的盈利产品,需要付费才能使用及提供服务支持,稳定性和可靠性无疑都是最好的。
1.2 MySQL数据库社区版介绍
MySQL社区版则是由分散在世界各地的MySQL开发者、爱好者以及用户参与开发与测试的,包括软件代码管理、测试也是他们在负载。社区也会设立BUG汇报机制,收集用户在使用过程中遇到的BUG,相比于企业版,社区版的开发测试没有那么严格。
1.3 MySQL数据库企业版与社区版的区别
MySQL是成熟产品,企业版与社区版之间在性能方面差别不大。它们的区别主要在以下几方面
- 企业版本组织管理与测试环境控制更严格,稳定性更好。
- 企业版不遵守GPL协议,社区版遵守GPL协议,可以免费使用。
- 企业版技术服务更优,例如,7*24小时技术支持、定期更新补丁等,但需要支付服务费用。社区版的服务质量与时效性无法保障。
- 社区版的维护服务只能靠社区提供,其无法像企业版那样获得故障、补丁服务,但可以完全免费的使用。
2 MySQL数据库的四种发布版本介绍
前面已经介绍,MySQL的版本发布采用双授权政策,社区版和企业版,而这两个版本又分为四个版本,依次发布:Alpha版、Beta版、RC版和GA版。
2.1 Alpha版
Alpha版只在开发公司内部运行,不对法公开。主要是开发者自己对产品进行测试,检查产品是否存在缺陷、错误,验证产品功能与说明书、用户手册是否一致。MySQL属于开源产品,因此需要世界各地的开发者、爱好者和用户参与软件开发、测试和手册编写等工作。自然就必须对外公布版本的源码和产品,以便他人参与开发、测试工作,甚至编写、修改用户手册。
2.2 Beta版
Beta版是完成功能的开发和所有测试之后的产品,不会存在较大功能或性能BUG,通常会邀请用户体验与测试,以便更能全面测试软件存在的问题
2.3 RC版
RC版属于生产环境发布之前的一个小版本,是依据Beta版本的测试结果,收集到的BUG进行修复和完善的一版产品
2.4 GA版。
GA版是软件产品正式发布的版本。一般情况下,企业的生产环境会选择GA版本的MySQL产品,用于真是的生产环境。偶尔有个别大型企业追求功能性而牺牲稳定性使用其他版本,但只是个例。
3 MySQL数据库软件命名介绍
MySQL数据库软件的版本号由3个数字和一个后缀组成。例如,mysql-5.6.40.tar.gz的版本号,其数字的含义如下
- 第一个数字(5)是主版本好,描述了文件格式。所有版本5的发行都有相同的文件格式
- 第二个数字(6)是发行级别。主版本号和发行级别组合到一起便构成了发行序列号
- 第三个数字(40)是指在此发行系列的版本号,随每个新发行版本而递增
4 MySQL产品路线
4.1 MySQL产品路线变更历史
早期,MySQL也是遵循版本号逐渐增加的方式,格式形如mysql-x.xx.xx.tar.gz。例如,老DBA都非常熟悉的生产版本:MySQL 4.1.7、MySQL 5.0.56等。
近几年,为了提高MySQL产品的竞争性,提高性能、降低开发维护成本等,也为了方便企业用户更精准地选择合适版本,MySQL在发展到5.1系列之后,又重新规划为三条产品线。
4.2 MySQL-5.0.xx 到 MySQL-5.1.xx 的产品线
第一条产品线为:MySQL 5.0.xx升级到MySQL 5.1.xx,这条产品线继续完善用户体验和性能,同时也增加新功能,可以说这条路线是MySQL早期产品的延续。
- MySQL 5.1是当前的稳定发布版。只针对漏洞修复重新发布,没有增加影响稳定性的新功能
- MySQL 5.0是前一个稳定发布系列版本。只针对严重漏洞修复和安全修复重新发布,没有增加影响该系列的重要功能,并且官方也停止对其的支持
- MySQL 4.0 和MySQL 3.23是旧的稳定发布系列版本。该版本不建议使用,且官方已经停止对其的支持
目前RHEL 7、CentOS 7的官方yum源附带的依然是MySQL 5.1版本,但在绝大多数的大型互联网企业的重要应用场景中,MySQL 5.1已经很罕见了。
4.3 MySQL-5.4.xx 到 MySQL-5.7.xx 产品线
为了更好地整合MySQL AB公司社区和第三方公司开发的新存储引擎,以及吸收新算法等,为了更好支持 SMP架构并提高性能,第二条产品线做了大量代码重构。版本编号从5.4.xx开始,最新稳定版是5.7.xx,目前发展到6.0.xx和8.0.xx(非稳定版)
据官方讲,MySQL 5.6 是有史以来最好的版本,是世界上使用最广的开源数据库,它提供了一套新的、先进的功能,使我们能够建设新一代基于网络和嵌入式的应用和服务
在企业中,目前MySQL 5.5 和 MySQL 5.6并存的主流时代,MySQL 5.7 是未来
4.4 MySQL-Cluster-6.0.xx 到 MySQL-Cluster-7.5.xx 产品线
为了更好地推广MySQL-Cluster版本,提高MySQL-Cluster-的性能和稳定性,改进和增加功能,使其对Cluster存储引擎提供更有效的支持与优化,因此研发了第三条产品线。该产品线的版本号为6.0.xx,目前已发展到7.5.xx
5 生产环境中如何选择MySQL版本
5.1 MySQL数据库发布特性
商业软件研发和发行公司,都会提供经过完整测试,甚至多种用户环境模拟测试才退出的稳定生产环境版本,这也使得技术人员对于商业数据库软件的选择,一般无需太多顾虑
在大公司,对于数据库软件版本的选择,会有相关人员详细月度新功能或新特性,且会做海量研究和测试,最后才逐步上线,而且是从边缘业务慢慢过渡到核心业务
5.2 企业生产环境选择MySQL数据库的建议
企业生产环境下,数据库是重中之重,因此选择MySQL数据库一定要慎重。下面给出几点建议
- 一定要选择稳定版本,即选择开源的社区版的稳定版
- 产品线选择,建议选择第二条产品线中的5.5或5.6版本。目前互联网企业主流版本是5.5和5.6
- 选择MySQL数据库至少发布半年以上的稳定版本
- 尽可能选择前后几个月没有重大BUG修复的版本,而不是大量修复BUG的版本
- 最好选择向后较长时间没有更新发布的版本
- 要考虑开发人员开发程序使用的版本
- 先作为内部开发测试数据库,测试运行几个月的时间
- 优先对企业非核心业务采用新的数据库稳定版本
经过上述几点,若没有重要BUG和性能瓶颈,可以考虑作为业务后端数据库软件。当然现实中很多中小企业都会直接选择GA版的最新版本,业务使用功能单一、数据量和访问量较小,一般不会有问题。上述选择建议,是以海量数据高并发,使用数据库功能较多的场景为前提进行讲解,对于这类场景,一定慎重选择