GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
上个月,信通院下属的云计算开源产业联盟发布了一个关于MySQL数据库开源生态的研究报告《开源数据库生态发展研究报告-MySQL开源数据库》,其中提到了在10月份MySQL社区将会发生一件大事--MySQL 5.7将会于2023年10月21日结束服务期(EOL)。
MySQL目前已经成为中国用户使用最广泛的开源数据库,其中5.7版本的用户的比重又是最高的,因此MySQL 5.7 EOL事件会影响到很多MySQL用户。 根据报告中的统计数字,MySQL 5.7用户占比在国内高达47%。届时这些用户将会面临选择,如何应对EOL事件。实际上2020年的时候就有一些机构提醒用户,MySQL 5.7按照生命周期将于2023年到达服务期限,当时这件事还在MySQL社区和DBA圈子里引发过一些关于开源项目安全性的讨论。3年后,这个狼来了的问题,终于正式要面对我们了。
实际上数据库EOL的问题并不是在MySQL 5.7上第一次出现,Oracle用户都很清楚每个版本EOL的时间表。只不过Oracle官方依然会对付费用户提供延长期服务,还会在数年时间里继续为这些用户发布安全补丁包,因此EOL的Oracle版本依然可以通过各种渠道找到安全补丁包。而作为开源数据库的MySQL,EOL就意味着开源社区不再提供安全与功能方面的补丁升级了。
面对MySQL 5.7 EOL这个事件,percona官方宣布了付费支持的计划,在EOL之后的三年内,percona会为需要服务的客户提供收费服务支持。不过支持的力度如何,是否承诺对安全问题发布补丁不得而知。
MariaDB一贯的对MySQL持有敌意,他们希望MySQL 5.7用户不要升级MySQL 8了,而是通过11条简单的命令迁移到MariaDB上去。除此之外,一些云厂商也纷纷提出了解决方案。
云厂商则纷纷发布了延长服务的声明,微软Azure将会在MySQL 5.7 EOL之后,为其公有云用户提供延长的服务,由Azure官方提供支持,最晚到2025年。
类似情况,亚马逊也将为其公有云用户提供一年期的支持。不论是亚马逊还是微软,当延长服务期结束后,MySQL 5.7用户将必须强制升级到MySQL 8或者迁移到其他数据库上。
面对这个问题,国内的MySQL生态的数据库厂商也纷纷给出了自己的迁移方案,希望吸引这部分用户到自己的产品上来。 面对MySQL 5.7 EOL这个事件,我们会如何面对呢?最近我也和一些MySQL 5.7用户做了一些交流,根据他们反馈的情况,以及业内对此问题的应对措施,再结合报告中反馈的四种情况,我总结了一下,大致有六种应对措施。
第一条路径:直接升级到8.0。做出此选择的MySQL5.7用户占比较高,此类用户对此问题早已了解,并且在半年前就已经开始应对工作。MySQL 5.7升级到8.0不仅仅是更换一个数据库版本而已,因为8.0与5.7在技术上有较大的差异,CBO优化器与SQL引擎都有一定的不同,因此数据库升级后应用需要做全面的测试,对于不够兼容的部分代码做一定的修改才能确保顺利迁移。因此采用第一种路径的用户,需要做一定的提前准备。
第二条路径:直接迁移到MySQL兼容的国产数据库。有一部分客户考虑到信创的问题,原本就已经计划对数据库进行国产化替代,准备一次性到位。如果用国产数据库替代,那么可以选择的路径也很多,很多国产数据库产品就是MySQL生态产品,比如腾讯TDSQL、万里GreatSQL、中兴通讯GoldenDB、Oceanbase、阿里PolarDB-x等。如果不需要使用存储过程,还可以考虑TiDB。很多国产数据库也有MySQL兼容模式,虽然不能完全兼容MySQL,应用做少量的修改也可以迁移过去。达梦、人大金仓、GaussDB等数据库都有MySQL兼容模式。直接迁移到国产数据库的优点是从根本上完成数据库国产化替代,不过缺点也很明显,一方面是迁移需要一定的资金,也需要一定的时间,另外一方面是国产数据库许可证采购的总体成本不低。
第三条路径:迁移到其他MySQL生态的开源产品,比如MariaDB和国内的GreatSQL。向MariaDB迁移的用户主要考虑的是摆脱Oracle生态,选择一个相对更加安全的开源项目,不过MariaDB社区是否足够安全,也是仁者见仁智者见智。GreatSQL是Percona Server的一个开源分支,也基于GPLV2协议,代码托管在国内的gitee上。在保持与Percona Server兼容的基础上,会更快速地修复漏洞,保障用户的数据安全。随后GreatSQL开源社区将会在官网上开设一个MySQL5.7停服专区,帮助MySQL 5.7的用户解决一些停服带来的问题,为某些暂时无法升级的用户提供支撑。随着软件供应链安全方面的需求的不断加强,国内开源项目分支的发展将会迎来高速发展。这条路径的迁移成本较低,缺点是用户目前对国内的开源分支的认可度还存在一定问题。
第四条路径:对于公有云用户,依托云平台再多撑一两年,在一两年中再选择方向。公有云厂商还会对MySQL 5.7提供一定时间的延长支持。公有云用户先观望一年再选择稳妥的技术路线的比例是比较高的。这条路线获得了一定时间的缓冲区,以便于做出更为科学的决策,不过仅仅是过渡期的临时做法。
第五条路径:换门,从MySQL直接更换数据库种类,转投另外一个开源数据库 PG 阵营。和摄影界换门一样,采取这条路径是要下大决心的。因为以往的应用都要修改,数据都要迁移,以往积累的应用开发与运维经验也都要放弃。
第六条路径:不变,继续使用MySQL 5.7。数据库都是在内部使用的,因此把网络的安全边界扎牢,哪怕有安全漏洞,也不升级,不改变,等到应用系统升级的时候再考虑升级或者更换数据库。选择这条路线的用户比例不低,这条路径成本最低,不过要承担一定的安全风险。采用这条路线的用户把安全依托在网络安全和边界安全上,通过扎紧篱笆来防止安全事故。
最后要表达的观点是,EOL是很多产品都会面临的事件,无需过度担心。不过数据库产品的EOL影响面更广一些,处理起来也更麻烦一些,特别是MySQL 5.7,对于一些复杂一些的系统,直接升级到8.0还是需要做一些验证工作的。作为一个核心的数据资产承载体,没有安全补丁处于裸奔状态的数据库也是一个比较大的隐患。从软件供应链安全上看,商用数据库Oracle在代码上的安全性要高于MySQL这样的开源数据库,再加上Oracle延长期服务依然在出安全补丁,用户也可以通过一些特殊渠道获得安全补丁。因此相对于Oracle数据库的版本EOL,MySQL 的EOL问题更受企业级用户的重视。面对即将到来的MySQL 5.7 EOL,IT部门的领导和DBA哪怕没有做什么动作,多思考一下也是好的。
对《开源数据库生态发展研究报告-MySQL开源数据库》有兴趣的朋友可以点击文后的阅读原文去下载。
Enjoy GreatSQL 🙂
《零基础学习MySQL》视频课程
戳此小程序即可直达B站
https://www.bilibili.com/video/BV1Da411W7Va?
活动 | GreatSQL 受邀「3306π」北京站 拓展数据库朋友圈 (附 PPT 下载)
下周见 | GreatSQL 带你畅游 OSCAR 开源产业大会开源集市
GreatSQL社区月报 | 2023.08
MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响
GreatSQL茶话会07 | 你常用的好用的数据库周边工具有哪些?
GreatSQL 是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为 MySQL 或 Percona Server 的可选替换,用于线上生产环境,且完全免费并兼容 MySQL 或 Percona Server。
GreatSQL社区官网: https://greatsql.cn/
Gitee: https://gitee.com/GreatSQL/GreatSQLGitHub: https://github.com/GreatSQL/GreatSQLBilibili:https://space.bilibili.com/1363850082
社区有奖建议反馈:
https://greatsql.cn/thread-54-1-1.html社区博客有奖征稿详情:
https://greatsql.cn/thread-100-1-1.html
(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)
微信&QQ群:可扫码添加GreatSQL社区助手微信好友,发送验证信息“加群”加入GreatSQL/MGR交流微信群,亦可直接扫码加入GreatSQL/MGR交流QQ群。
微信
想看更多技术好文,点个“在看”吧!