文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【腾讯云 TDSQL-C Serverless 产品测评】MySQL 5.7 EOL 后,何去何从?TDSQL-C Serverless 解君愁

2023-10-02 13:36

关注

文章目录


  2023 年 10 月 21 日,MySQL 5.7 将达到其生命周期的终点(EOL,End of Life),此后Oracle将不再为MySQL 5.7 提供官方更新、错误修复或安全补丁。自此,MySQL 5.x 版本全部 EOL,拥有官方支持的版本将只有8.x。对于那些仍在使用 MySQL 5.7 的用户来说,这是一个重要的时刻!随着 MySQL 5.7 EOL 的到来,升级到MySQL 8.0 似乎是最直接的方案,但是否还有其他选择呢?

  本篇博文将基于腾讯云 TDSQL-C for MySQL Serverless版,探索企业如何以最小的成本,解决 MySQL 5.7 EOL 后的困境。

一、不容忽视的挑战:MySQL 5.7 EOL

  MySQL 5.7 EOL 后,仍在使用 MySQL 5.7 的用户将面临一系列风险和挑战,其中一些主要影响包括但不限于:

  作为在DB-Engines流行度排名中常年霸榜的MySQL,其在关系型数据库领域的霸主地位是无可置疑的。根据2022年 Slintel 网站的统计数据,在全球关系型数据库市场中,MySQL市场份额最高,达到43.04%,排名第二的Oracle仅为16.76%。同时在 Shadowserver Foundation 于2022年5月份发布的一份全网 MySQL 扫描报告中,MySQL的不同版本份额占比如下:

从该份数据中我们可以发现,早在 2021 年 10 月份就 EOL 的 MySQL 5.6 份额占比仍高达30%,在其 EOL 后的半年时间里,相当一部分用户选择忽视EOL带来的潜在风险,仍然继续使用MySQL 5.6。窥一斑而知全豹,在10月份的MySQL 5.7 EOL后,也会有很大一部分用户继续坚守MySQL 5.7。是什么原因造成了这种局面呢?迁移难度改造成本兼容性或许是阻挡企业迁移MySQL 5.7 的最大阻力。在9月21日由中国信通院举办的2023 OSCAR开源产业大会上发布的《开源数据库生态发展研究报告》中也有提到:

在选择替换MySQL5.7时,迁移难度与改造成本是企业⾸要考虑因素。

超过70%的企业在选择MySQL5.7替代数据库时会考虑产品迁移难度与改造成本。

超五成的企业会考虑迁移数据库的可靠性、可⽤性与可服务性。

此外,数据库安全性、兼容性与产品性能等也是企业选择替代数据库时的重要考虑因素。相关主管部⻔的政策也会影响企业对替代数据库进⾏进⼀步选择。

二、解决方案的曙光:腾讯云 TDSQL-C for MySQL Serverless版

  TDSQL-C MySQL 版(TDSQL-C for MySQL)是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,为用户提供具备高弹性、高性能、海量存储、安全可靠的数据库服务。TDSQL-C MySQL 版100%兼容 MySQL 5.7、8.0。实现超百万级 QPS 的高吞吐,最高 PB 级智能存储,保障数据安全可靠。

  Serverless 服务是腾讯云自研的新一代云原生关系型数据库 TDSQL-C MySQL 版的无服务器架构版,是全 Serverless 架构的云原生数据库。Serverless 服务支持按实际计算和存储资源使用量收取费用,不用不付费,将腾讯云云原生技术普惠用户。

  TDSQL-C for MySQL Serverless版的产品优势:

  • 完全兼容:TDSQL-C MySQL 版将开源数据库的计算和存储分离,存储构建在腾讯云分布式云存储服务之上,计算层全面兼容开源数据库引擎MySQL 5.7、8.0,业务无需改造即可平滑迁移。
  • 超高性能:单节点百万 QPS 的超高性能,可以满足高并发高性能的场景,保证关键业务的连续性,并可进一步提供读写分离以及读写扩展性。
  • 海量存储:最高支持 PB 级的海量存储,为客户免去面对海量的数据时频繁分库分表的繁琐操作,同时支持数据压缩,在海量数据检索和写入性能上进行了大量优化。
  • 秒级故障恢复:计算节点实现了无状态,支持秒级的故障切换和恢复,即便计算节点所在的物理机宕机也可以在一分钟之内恢复。
  • 数据高可靠:集群支持安全组和 VPC 网络隔离。自动维护数据和备份的多个副本,保障数据安全可靠,可靠性达99.9999999%。
  • 弹性扩展:计算节点可根据业务需要快速升降配,秒级完成扩容,结合弹性存储,实现计算资源的成本最优。
  • 快速只读扩展:计算节点可根据业务需要快速添加只读节点,一个集群支持秒级添加或删除1个 - 15个只读节点,快速应对业务峰值和变化场景。
  • 快照备份回档:基于数据多版本的秒级快照备份对用户的数据进行连续备份保护,免去主从架构备份回档数据的同步和搬迁,最高以GB/秒的速度极速并行回档,保证业务数据迅速恢复。
  • Serverless 架构:Serverless 是腾讯自研云原生数据库 TDSQL-C MySQL 版的无服务器架构版,自动扩缩容,仅按照实际使用量计费,不用不计费,轻松应对业务数据量动态变化和持续增长。其核心服务特性如下:
    • 资源扩缩范围(CCU):调整 CCU 弹性扩缩容的范围。Serverless 集群会在该范围内根据实际业务压力自动增加或减少 CCU。
    • 弹性策略:Serverless 集群会持续监控用户的 CPU、内存等 workload 负载情况,根据一定的规则触发自动扩缩容策略。
    • 自动启停:Serverless 服务支持自定义实例自动暂停时间,无连接时实例会自动暂停。当有任务连接接入时,实例会秒级无间断自动唤醒。

  以上内容摘抄整理自腾讯云TDSQL-C MySQL 版官方文档,其官方宣传定义的产品优势,总结下来无非是:100%兼容MySQL、数据安全性高,高可靠、高可⽤、高服务、低成本。这与我们在上文中提及的,企业迁移 MySQL 5.7 所要考虑的迁移难度、改造成本、兼容性、可靠性、可⽤性、可服务性、安全性等因素高度契合。

  解决了企业迁移的阻碍,那么TDSQL-C for MySQL Serverless版又该如何应对MySQL 5.7 EOL 后潜在风险与挑战呢?

  1. 首先是上文提及的新硬件或者操作系统兼容性问题、数据库管理和维护负担、性能瓶颈等问题,TDSQL-C for MySQL Serverless版作为全托管的云原生数据库,天然具备完全免运维的优势,企业无需承担数据库的基础设施运维工作,Serverless架构自动扩缩容特性则可以应对各种复杂的负载场景而无需用户手动对数据库扩缩容;

  2. 其次是合规性问题,不同企业不同行业的要求不尽相同,需要具体情况具体分析,不过在当前国产化软件的浪潮下,腾讯云的背书应该可以满足大部分的合规审查;

  3. 最后也是最重要的安全漏洞和风险、缺乏新功能和改进这两个问题,针对这两个问题,通过查看 TDSQL-C MySQL 版-产品动态,发现最近一次更新是在9月21日,在8月25日,还对TDSQL-C MySQL 版5.7的内核版本进行了更新。

    image-20230924154212925

    博主同时分别咨询了腾讯云的售后支持以及工单,最终两个渠道给出的反馈是:MySQL 5.7 EOL 后,腾讯云这边会进行功能性更新。安全相关的修复,目前暂时没有停更的计划,如果后续有变动,将在产品公告或动态中进行更新发布说明:https://cloud.tencent.com/document/product/1003/51268 。有趣的是,在工单系统中,一开始工程师并未直接回复5.7版本的后续支持计划,只是说会停止接收官方更新并建议升级至8.0版本,后面才正式回答暂时没有停更的计划,会继续进行功能性质更新及安全相关修复。
    image-20230922165612680

    image-20230922165628837

    image-20230924153419151

    image-20230924153452065

三、实际案例:MySQL 5.7 迁移到 TDSQL-C for MySQL Serverless版

  实践出真知,为了更具体地了解MySQL 5.7迁移到TDSQL-C for MySQL Serverless的过程,让我们来看一个实际迁移案例。

1.案例背景:

  一个企业内部培训平台,包含培训资源管理、课程管理、学员管理,在线考试,积分商城等功能。数据库使用MySQL 5.7.36,数据库所在服务器配置为2C4G。

2.迁移过程:
2.1 创建TDSQL-C for MySQL Serverless实例

1695568058

这里重点解释一下几个“相对陌生”的参数:

2.2 兼容性测试

  虽然TDSQL-C for MySQL Serverless版的官方文档中说明100%兼容MySQL5.7,但数据库迁移必须慎之又慎,应做好全面的测试工作,避免因配置不同、小版本不同导致的语法不兼容、语义不兼容等兼容性问题。本次兼容性测试使用pt-upgrade工具进行。pt-upgrade 是 Percona Toolkit 中的一个工具,可帮助我们从业务 SQL 层面检查新老版本的兼容性。它的检测思路很简单,给定一个 SQL,分别在两个不同版本的实例上执行,看看是否一致。关于pt-upgrade的更多信息以及使用方法,请参考其官方文档

  1. 安装pt-upgrade

    # 安装依赖包yum -y install perl-Digest-MD5# 获取pt-upgradewget www.percona.com/get/pt-upgrade# 赋予执行权限chmod +x pt-upgrade# 查看版本,验证是否成功./pt-upgrade --version
  2. 准备测试SQL脚本

      测试SQL应涵盖业务系统所涉及的各类SQL语句,包含但不限于DDL语句、DML语句、DQL语句、存储过程、自定义函数、内置函数。SQL脚本的格式要求:每一行都是一条完整的SQL语句。脚本示例:

    select "a word a" REGEXP "[[:<:]]word[[:>:]]";select dept_no,count(*) from test.dept_emp group by dept_no desc;grant select on test.* to 'u1'@'%' identified by '123456';create table test.t1(id int primary key,c1 text not null default (''));select * from test.dept_emp group by dept_no;SELECT `name` FROM test.`user` GROUP BY age;
  3. 运行pt-upgrade

    ./pt-upgrade h=host1,P=3306,u=root,p=password1 \h=host2,P=27149,u=root,p=password2 \--type rawlog ./test.sql --no-read-only
  4. 查看pt-upgrade报告

    image-20230927203158965

      从报告中我们可以看到有一处SQL在本地数据库运行无报错,在TDSQL-C for MySQL Serverless中运行错误,根据错误提示,发现是sql_mode配置错误。

  5. 解决pt-upgrade报告中发现的问题

      上一步中我们发现由于sql_mode配置不一致导致的查询失败的问题,我们尝试修改TDSQL-C for MySQL Serverless的sql_mode参数修复该错误,发现修改失败,提示权限不足,缺少SUPER权限。

    image-20230926154546022

    查看一下root用户的权限,发现TDSQL-C for MySQL Serverless出于安全角度,对root用户权限进行了限制,缺少File、Shutdown、Super这三个高风险权限。

    image-20230926213337693

    那我们应该如何一些数据库系统参数呢?答案是使用腾讯云控制台中的参数设置功能

    image-20230926154446997

    image-20230926154424721

  6. 再次执行命令并查看报告

    image-20230927203929502

2.3 使用Navicat将所有数据从MySQL 5.7导入到TDSQL-C for MySQL Serverless。

image-20230926091915865

2.4 修改系统的数据库连接配置,并启动系统服务。

image-20230926100140742

2.5 进行业务系统回归测试

按照业务系统测试用例进行回归性测试,测试系统各项功能是否正常无报错。

四、结论

  MySQL 5.7的EOL意味着数据库管理员和开发者们需要寻找更现代、高效的数据库解决方案。TDSQL-C for MySQL Serverless作为腾讯云的Serverless数据库产品,为迁移提供了一个强大的选择,具备弹性伸缩、按需付费、管理简单、高可用性和100%的兼容性等优势。

  通过正确的迁移步骤和实际案例的示范,我们可以看到将MySQL 5.7迁移到TDSQL-C for MySQL Serverless是一个可行的解决方案,可以帮助企业解决MySQL 5.7 EOL后的挑战,提高性能,降低成本,简化管理。因此,如果您正考虑迁移数据库,不妨考虑TDSQL-C for MySQL Serverless,以最低的成本甩掉自建数据库的历史包袱,感受云原生技术带来的高效便捷。

来源地址:https://blog.csdn.net/2301_78739649/article/details/133200389

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯