IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

MySQL数据库开源软件版本 生产环境GA版本如何选择

MySQLOPS 数据库与运维自动化技术分享 2012-03-31 22:41:29 累计浏览 2,481 次
本机暂存

    【导读

     很多技术朋友向我咨询过关于选择MySQL数据库软件产品的版本事宜,他们对于开源软件产品的版本选择没有头绪,不知道从何下手。不过,我们本文主要是介绍开源数据库产品的版本如何选择,如何选择生产环境的MySQL数据库版本?MySQL数据库版本的选择需要经过那些工序?需要注意那些事项?顺道分享下我们DBA团队是如何为生产环境,选择合适的MySQL数据库版本。

    商业软件研发和发行公司,都会提供经过完整测试,甚至多种用户环境模拟测试及试用之后,才会推出稳定的生产环境版本软件,导致技术人员对于商业数据库软件的选择,一般不需要太多的顾虑与考虑。在大公司,像曾经带过的阿里巴巴DBA团队,对于Oracle数据库软件版本的选择,也是会对其新功能或改进点知识详细阅读,并且会做很多相关测试和研究工作。关于Oracle数据库产品的版本选择,大家可以通过新浪微博咨询Oracle数据库行业非常优秀的DBA Jametong

    (一)   行业乱象

    不管是大公司,还是中小型公司,有专职DBA的公司,还是无DBA的公司;都存在使用Alpha版本MySQL数据库产品的现状,甚至有些公司还是用开发版本MySQL数据库产品的情况。2009年以前的阿里软件、淘宝、阿里巴巴都大量存在使用Alpha版本的MySQL数据库,不过后来这样的事情没再发生,而是逐渐寻找机会升级完成版本的更换。像北京的去哪儿公司,依然采用MySQL5.5Alpha版本数据库产品,上海也很多大公司采用Alpha版本的数据库产品,就不一一点名,避免被口水淹没。对于那些没有专职DBA的公司,存在使用Alpha版本MySQL数据库,就更多更普遍。对于职业技能属于中下水平的DBA而言,选择MySQL数据库的版本可能存在一些困难,主要是没有意识到其存在的危害,以及没有人告诉他们该如何选择这些软件版本。

    (二)   MySQL数据库版本

    对于MySQL开源数据库分为多个重要分支发展,目前拥有的分支分别为:MySQL Cluster、MySQL 5.1、MySQL5.5、MySQL6.2,每个分支版本都会遵循一个相同的流程,也即不同开发测试阶段的MySQL数据库版本,分别为:Development版本、Alpha版本、Beta版本、RC版本、GA版本,每个版本的含义与区别大家可以参考文章MySQL数据库入门常识中的文字描述。

    MySQL AB官方网站会把五种数据库版本都提供下载,主要是MySQL数据库属于开放源代码的数据库产品,鼓励全球的技术爱好者参与研发、测试、文档编写和经验分享,甚至包过产品发展规划,对于Development版本、Alpha版本和Beta版本是绝对不允许使用在任何生产环境的,肯定存在重大的问题或功能未完全实现。绝大多数情况下RC版本也是不允许使用在生产环境,毕竟这是一个GA版本之前,也即生产版本发布之前的一个小版本。另外,对MySQL 数据库GA版本,也是需要慎重选择,开源社区产品毕竟不是经过严格的测试工序完成的产品,是全球开源技术人员的自愿完成的,会存在比商业产品稳定性弱的缺陷。

    (三)   MySQL数据库GA版本选择的流程

    自甲骨文(注:Oracle)公司收购SUN及全资子公司MySQL AB之后,MySQL AB官方不再对开源社区贡献源码,以及众多创始人与技术人员的出走,大家对于MySQL AB 公司推出的新版本一定要更加仔细挑选,切莫盲目相信MySQL AB官方给出的测试报告。推荐大家参考的MySQL数据库GA版本选择的流程,如下所述:

    1)         分析本企业业务,需要使用到MySQL那些基本功能和特性,特性重点方向研究为:MySQL复制、分区表、Plugin-innodb等;

    2)         MySQL数据库产品线第一个GA版本推出时间,至少超过10个月,再考虑使用到生产环境;

    3)         MySQL数据库产品线的最新GA版本,一般向后退3-4个版本的GA版本数据库,作为可选的目标;

    4)         仔细阅读选择的目标数据库GA版本,若是为之前的版本修改了大量的BUG信息,则此GA版本慎重选择;

    5)         仔细阅读目标GA版本数据库之后的第一版本,若是修改的BUG信息量非常大,直接放弃目标版本,向前推进一个版本号作为目标版本;

    6)         按照第四、第五步骤所描述的办法,直到选定的版本之后的一个版本,BUG修改量不大,严重BUG极少,且不能为最新的GA版本数据库产品;

    7)         详细阅读选定的数据库GA版本之后2-3个版本的BUG修复信息,主要是跟目标GA版本相关的,并且想办法重现,以及寻找规避的办法;

    8)         对经过上述七个步骤挑选的GA版本,结合企业业务可能需要用的功能,都必须进行功能测试,以及业务模拟的性能测试;

    9)         挑选的数据库GA版本,作为内部开发测试数据库环境,跑大概3-6个月的时间;

    10)     优先企业非核心业务采用新版本的数据库GA版本软件;

    11)     经过上述10个工序之后,若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件;

    【编者加注】

    很多企业的专职DBA可能没有这么多时间、精力或资源等,也可能根本不愿意花费这较长时间,或者企业急需选择一个数据库GA版本,还有一些企业根本没有专职DBA,而是运维或开发工程师代替的模式,可能不具备挑选数据库软件版本的能力。那么我们是否有MySQL数据库GA版本选择的捷径呢? 答案是有的,那么请多关注互联网行业大公司的DBA们或行业内优秀且严谨的DBA,从各种渠道去了解(注释:互联网企业DBA团队BLOG、ITPUB论坛、优秀DBA的BLOG),或者直接咨询内部人士,获知他们的核心业务数据库版本是多少?

    后续我们再发布一篇文章,关于开源数据库mysql5.5.19版本选型过程,测试重现mysql5.5.19及相关版本存在的BUG信息。

同分类推荐文章

  1. 第七章 事务 (2026-04-07 08:00:00)
  2. 第六章:分区 (2026-03-29 08:00:00)
  3. Neko Master: 从 0 到 1K+ Star 的 Vibe Coding 实践 (2026-03-01 08:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. 用Hyer来进行网站的抓取 (累计阅读 158,179)
  2. Git常用命令备忘 (累计阅读 54,615)
  3. MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,340)
  4. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,098)
  5. Git log diff config高级进阶 (累计阅读 24,786)
  6. Git subtree 要不要使用 –squash 参数 (累计阅读 23,349)
  7. Mysql监控指南 (累计阅读 21,239)
  8. 我的git笔记 (累计阅读 20,174)
  9. 由浅入深探究mysql索引结构原理、性能分析与优化 (累计阅读 16,238)
  10. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 12,997)