一文了解 MySQL 全新版本模型

news2024/10/6 20:37:47

MySQL 8.1 已经发布了,也宣布 MySQL 开始使用新的版本模型。

作者:Kenny Gryp / Airton Lastori

MySQL 产品团队。

原文:https://blogs.oracle.com/mysql/post/introducing-mysql-innovation-and-longterm-support-lts-versions

引子

在 Oracle,我们不断寻找方法来改进产品,以更好地满足您的需求。我们很高兴地推出 MySQL 创新版(Innovation)和长期支持版(LTS,Long-Term Support),这是 MySQL 版本模型中的一个重要改进。

MySQL 5.7 及之前版本的补丁版本主要致力于错误修复和安全补丁。这在 MySQL 8.0 的持续交付模型中发生了变化,补丁版本也包含了新特性。这使得 MySQL 能够更频繁地向用户发布新特性,而不仅仅是每隔几年才能发布一次特性。但是,我们理解这种方法可能会给那些只需要关键补丁和较少行为变更的项目和应用带来挑战。我们倾听了您的反馈并观察了行业趋势,现在我们正在过渡到一个版本模型,您可以在创新版(Innovation)和长期支持版(LTS)之间进行选择。

创新版和 LTS 版的质量都是生产级的。如果您渴望访问最新的功能和改进,并喜欢与最新技术保持同步,那么 MySQL 创新版本可能最适合您。该版本非常适合在快节奏的开发环境中工作的开发人员和 DBA,其中有高水平的自动化测试和现代的持续集成技术,可以实现更快的升级周期。另一方面,如果您的环境需要继续保持已经固定的行为,那么 LTS 版本就是您的不二之选。这些版本仅包含必要的修复,因此可以减少数据库软件行为变更带来的风险。

通过新的 MySQL 版本模型,您可以灵活地选择适合您特定应用和环境需求的选项。我们的目标是确保您在创新版和 LTS 版中都能获得卓越的用户体验。您可以在下面了解有关新版本模型和过渡过程的更多信息。

新的 MySQL 版本模型

过渡到创新版和 LTS 版

我们即将推出的新版本将过渡到新的 MySQL 版本模型。MySQL 8.1.0 将是我们的第一个创新版本,8.0.34+ 将只进行错误修复,直到 8.0 生命周期结束(EOL,定于 2026 年 4 月)。大约一年后,MySQL 8.x 版本最终将成为 LTS,这将为用户从 8.0.x 迁移到 8.x LTS 版本提供充足的时间。

在实践中,在这段过渡期间,如果您想要 MySQL 数据库的最新功能、改进和所有错误修复,请使用创新版本(例如 8.1.x、8.2.x、8.3.x 等)。如果您的 MySQL 只需要错误修复,请使用 8.0.x 版本(例如 8.0.35、8.0.36、8.0.37 等)。在这两种情况下,建议您都根据 Oracle 关键补丁更新(CPU)日历每季度更新 MySQL 数据库。当 8.x 成为 LTS 时,您可以从修复版本(例如 8.0.37)规划、测试和迁移到 LTS 版本(例如 8.4.1)。

MySQL HeatWave 服务

MySQL HeatWave 服务由 Oracle 的 MySQL 团队进行全面管理、开发和支持。我们通过最新版本的 MySQL 提供最新改进和安全补丁。MySQL HeatWave 用户能从第 1 天开始访问错误修复,以及最新的功能,包括 OLTP、OLAP、机器学习和 Lakehouse。

MySQL HeatWave 用户现在可以选择创新版本,从 8.1.0 开始,以及错误修复版本,从 8.0.34 开始。该服务为每个数据库系统选择 MySQL 版本提供了灵活性,使用户可以根据应用程序要求混合匹配版本。使用 8.1+ 创新版本的用户可以充分利用该服务的潜力,访问最新功能和错误修复。另一方面,那些只需要关键错误修复且不需要最新功能的用户可以为其 MySQL 数据库选择 8.0.x 版本。

MySQL 产品组合和支持生命周期

LTS 版本将遵循 Oracle 终身支持政策,包括 5 年的首要支持和 3 年的延长支持。创新版本将支持到下一个主要和次要版本。

MySQL 产品组合中的大多数产品将具有创新版和 LTS 版:

  • MySQL Server、MySQL Shell、MySQL Router、MySQL NDB 集群将具有创新版和 LTS 版。
  • 用于 Kubernetes 的 MySQL Operator,带有 InnoDB ReplicaSet、Cluster和 ClusterSet 将具有创新版和 LTS 版。
  • MySQL 连接器将使用最新版本,但将被视为通用可用,并与所有支持的 MySQL 服务器版本兼容。
  • MySQL Workbench 将保留在 8.0.x,通常可用并与所有支持的 MySQL 服务器版本兼容。

MySQL 版本发布节奏

  • 8.0.34+ 仅为错误修复版本(红色)
  • 创新版本(灰色)可能每季度发布一次
  • 大约每 2 年发布一个新的 LTS 版本(蓝色)。8.x LTS 版本的发布是一个例外,它将远早于 8.0 的 EOL。

在未来几年,MySQL 版本将类似于下图所示:

注意:这仅是一个示例,没有承诺版本编号将严格按照该呈现的方式。

创新版本

创新版本类似于 MySQL 8.0 持续开发模型(< 8.0.34),包括错误修复、安全补丁和新功能。

对创新版本的支持限于下一个次要版本(创新或 LTS)。当前的周期目标是每季度发布一个创新版本,递增次要版本号(例如 8.2、8.3 等)。创新版本内的补丁版本是可能的,但不太可能发生。

创新版本也将是通常可用的,建议用于生产环境中。错误修复和安全补丁通常会包含在下一个创新版本或 LTS 版本中,而不是作为该创新版本内补丁版本的一部分。在使用创新版本时,定期升级到最新的创新版本以跟上最新的错误修复和安全补丁是必要的。

除了错误修复、安全补丁和新功能,创新版本还将引入新的弃用功能、删除功能甚至行为更改。为了减少在引入这些更改时升级的风险和复杂性,将制定策略和最佳实践来规定何时以及如何进行。

弃用和删除的功能

在 MySQL 的以前版本中,一个版本中的弃用功能(例如 5.7)意味着该功能可能会在下一个 主要/次要 版本中被删除(例如 8.0)。随着创新版本的引入,将会有更多的 主要/次要 版本,因此弃用和删除功能何时发生将会改变。

当一个版本中弃用一个功能或行为时(例如 9.2 创新版本),该功能至少不能在一年内被删除(直到 9.6 创新版本)。这是为了给使用创新版本的用户修改数据库部署时间。

注意:LTS 版本中不会有任何删除。只有在第一个 LTS 版本(例如 8.4.0 LTS)中才能添加和删除功能,之后不能再删除。

在我们过渡到新模型并迈向第一个 8.x LTS 版本的过程中,预计会增加弃用和删除的数量。

行为更改

除了创新版本中的新功能,随着代码被重构或 MySQL 被修改以更符合 SQL 标准的行为(这在 LTS 版本中不会发生),也期望会有行为更改。

行为更改可能会产生很大影响,特别是在处理任何与应用程序相关的事项时,比如 SQL 语法、新增保留字、查询执行甚至查询性能。行为更改可能需要应用程序更改,这对我们的用户来说可能需要相当大的努力才能迁移。

除了记录每个行为更改外,重要的是我们的用户能够使用必要的工具和配置设置,以便于版本之间的升级和降级。根据行为更改的类型,将使用不同的方法。随着我们引入此类更改,将提供更多细节。

长期支持版本

大约每 2 年,一个次要版本将被指定为长期支持版本。这个版本将拥有 5 年的首要支持和 3 年的延长支持,与以前支持的版本相同。这类似于 MySQL 5.7 及更早版本。

LTS 也将是该主要版本的最后一个版本。下一个创新版本将增加主要版本号。例如,如果 MySQL 8.4.0 是 8.x LTS 版本,那么 MySQL 9.0 将是下一个创新版本。

升级和降级

随着主要和次要创新版本的频率增加,以及每 2 年的 LTS 版本,用户将有更多受支持的版本可供选择。成为创新系列的采用者将需要频繁的更新以跟上错误修复和安全补丁,这需要升级和降级策略。

让我们更深入地看看各种支持的升级和降级方案。

LTS 版本内的升级和降级

在 LTS 版本内,功能保持不变,数据格式也不会改变。

因此:

  • 就地升级和降级是可能的。与 MySQL 8.0.x 版本(< 8.0.34)相比,这是一个改进,因为降级是不可能的,并且不建议跳过版本进行升级。
  • InnoDB CLONE 在 LTS 版本内都支持升级和降级。

完全过渡到这一点还需要一些工作,这将在 8.0.34 之后的版本中完成。

两个 LTS 版本之间的升级和降级

  • 可以从一个 LTS 版本迁移到下一个 LTS 版本,而无需执行多个中间创新版本的升级步骤。
  • 可以通过就地升级、MySQL Shell 导出和导入以及 MySQL 异步复制进行升级。
  • 仅为了回滚正在进行的升级,可以通过 MySQL Shell 导出和导入以及 MySQL 复制进行降级,详见下文。

创新版本之间的升级和降级

  • 支持从一个创新版本或 LTS 版本就地升级到未来的创新版本,直到下一个 LTS 版本。复制和导出导入也可以实现。
  • 降级将需要逻辑导出和导入。这与 MySQL 8.0.x(< 8.0.34)类似。

使用MySQL异步复制进行升级和降级

在业务关键环境中,升级通常使用 MySQL 异步复制完成,其中新版本环境被设置为当前版本的从库。这允许近零停机时间的升级。

可以从 LTS 版本或创新版本异步复制到:

  • 下一个 LTS 版本。
  • 任何未来的创新版本,直到下一个 LTS 版本(LTS 8.4 → LTS 9.7,但不是 LTS 8.4 → LTS 10.7)。

如果在提升新版本后出现任何问题,支持回到前一个版本非常重要。因此,MySQL 异步复制将能够复制到前一个版本。此支持仅用于回滚目的,其中尚未使用新功能,不应视为持续生产部署的一部分。

升级和降级的支持

以下是各种支持的升级和降级方法的概述:

升级

就地克隆异步复制导出/导入
LTS 8.4 → LTS 9.7
LTS 8.4.11 → LTS 8.4.20
Innovation 8.1 → 8.2
Innovation 8.1 → 8.3
Innovation 9.1 → LTS 9.7
LTS 8.4 → LTS 10.7

降级

就地克隆异步复制导出/导入
LTS 8.4.20 → 8.4.11
LTS 9.7 → LTS 8.4✓✮✓✮
LTS 9.7 → Innovation 9.6✓✮✓✮
LTS 9.7 → Innovation 9.5✓✮✓✮

(✮) 表示支持仅限于回滚目的。

总结

在我们过渡到这个新模型的过程中,欢迎你通过我们的社区渠道和支持团队进行交流。

你可以在 mysql.com/downloads 上下载最新的 MySQL 版本,或者在http://edelivery.oracle.com/上的 Oracle 软件交付云下载 MySQL 企业版二进制文件。

有关每个版本的详细信息,包括新功能、改进、错误修复和可能的重大更改,请查看 MySQL 版本说明。

我们对这个新版本模型带来的机会感到激动,并热切期待您的反馈。让我们一起努力使 MySQL 变得更好。 更多技术文章,请访问:https://opensource.actionsky.com/

关于 SQLE

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

SQLE 获取

类型地址
版本库https://github.com/actiontech/sqle
文档https://actiontech.github.io/sqle-docs/
发布信息https://github.com/actiontech/sqle/releases
数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/784102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

边缘提取总结

边缘提取&#xff1a;什么是边缘&#xff1f; 图象的边缘是指图象局部区域亮度变化显著的部分&#xff0c;该区域的灰度剖面一般可以 看作是一个阶跃&#xff0c;既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相 差较大的灰度值。 边缘有正负之分&#xff0c;就像…

React AntDesign表批量操作时的selectedRowKeys回显选中

不知道大家是不是在AntDesign的某一个列表想要做一个批量导出或者操作的时候&#xff0c;发现只要选择下一页&#xff0c;即使选中的ids 都有记录下面&#xff0c;但是就是不回显 后来问了chatGPT&#xff0c;对方的回答是&#xff1a; 在Ant Design的DataTable组件中&#xf…

java必学必会之static关键字

java必学必会之static关键字 一、static关键字 原来一个类里面的成员变量&#xff0c;每new一个对象&#xff0c;这个对象就有一份自己的成员变量&#xff0c;因为这些成员变量都不是静态成员变量。对于static成员变量来说&#xff0c;这个成员变量只有一份&#xff0c;而且这…

Tiny Player (js) - 轻量好用、免费开源的 web 视频播放开发组件,内置硬解、软解视频功能

一款简单好用的 JS 视频播放器&#xff0c;完美解决我遇到的移动端播放视频的需求&#xff0c;安利给各位。 关于 Tiny Player Tiny Player 是一个极简的视频播放器 JS 库&#xff0c;内置硬解、软解视频功能&#xff0c;支持原生控件样式以及自定义控件样式&#xff0c;小巧…

一种代码逻辑表达“新范式”:保留编程逻辑,去掉编程语法

逻辑是一个非常古老的话题&#xff0c;很难看到有什么新的东西&#xff0c;特别是新的表达方式。最近被惊艳到了&#xff0c;在分析iVX产品的时候&#xff0c;发现了一种全新的可视化的“逻辑表达范式&#xff08;或者说新方法&#xff09;”。看下面有GIF动图演示。 理论上包括…

macbook 软件iMovie for Mac(专业视频剪辑工具)中文版

iMovie mac中文版是一款针对Mac平台量身定做的视频编辑工具&#xff0c;软件凭借流线型设计和直观的编辑功能&#xff0c;可以让您感受前所未有的方式制作好莱坞风格的预告片和精美电影&#xff0c;并且还可以浏览视频资料库&#xff0c;快速共享挚爱瞬间&#xff0c;创建精美的…

手机缺流量?切记,不要买这种卡!

近日&#xff0c;小编在后台看到很多朋友的私信&#xff0c;都在控诉买的流量卡有套路&#xff0c;通过大家的描述&#xff0c;小编发现&#xff0c;很多朋友都是“病急乱投医&#xff0c;犯了一个最大的错误”&#xff0c;只看价格&#xff0c;不看正规性。 ​ 现在网上可能上…

DDL\DML

查询字段 1、查询指定字段 select 字段1, 字段2 ,...] from 表名; select ename, sal from emp; select ename from emp; 2、查询全部字段 select * from 表名; select * from emp; 条件查询 使用 where 语句&#xff0c;放在 from 后 select * from emp where 条件…

UI 自动化稳定性用例实战经验分享!

目录 前言&#xff1a; 大家常说 UI 自动化不稳定&#xff0c;那又如何提高稳定性呢&#xff1f; 操作界面非预期的弹框、广告、浮层 测试系统的 A/B 策略 总结&#xff1a; 前言&#xff1a; 稳定性测试是软件测试的一个重要方面&#xff0c;它旨在评估软件在不同负载和…

[BSidesCF 2020]Had a bad day1

进入环境&#xff0c;一上来就是一段激励的话&#xff0c;没有啥特别的&#xff0c;源码中也没有看见啥有用的提示 但主要是有&#xff0c;参数的传递&#xff0c;加上前面的index.php&#xff0c;想到了PHP伪协议&#xff0c;或许我们可以直接查看一下隐藏源码 报错了&#xf…

nfs服务器的描述,搭建和使用

前言 这是我在这个网站整理的笔记&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;RodmaChen nfs服务器的描述&#xff0c;搭建和使用 NFS概述工作原理优缺点 nfs服务器搭建服务端客户端 NFS概述 NFS&#xff08;Network File System&#xff09;是一种基…

GPT-3.5:ChatGPT的奇妙之处和革命性进步

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

【Koa】[NoSQL] Koa中相关介绍和使用Redis MongoDB增删改查

目录 NoSQL非关系型数据库关系型数据库&#xff08;RMDB&#xff09;介绍非关系型数据库&#xff08;NoSQL&#xff09;介绍Redis & MongoDB 在 Koa 中使用 Redis (了解)Redis 的安装和使用在 Koa 中连接 和 调用 Redis 在 Koa 中使用 MongoDBMongoDB 的安装MongoShell 操作…

day35KMP算法

1.什么是KMP算法 解决字符串匹配问题&#xff1b;看文本串是否出现过模式串&#xff1b; 文本串&#xff1a;aabaabaaf; 模式串&#xff1a;aabaaf&#xff1b; 暴力解法&#xff1a;两层for循环&#xff0c;时间复杂度&#xff1a;O(m*n) m n分别是长度&#xff1b; kmp解决&a…

HTML中的焦点管理

前言 焦点作为页面交互中的重要一环&#xff0c;涉及到的知识点也比较多&#xff0c;有必要做一个统一的总结。 HTML 中的可获取焦点的元素 具有 href 属性的 HTMLAnchorElement/HTMLAreaElement非禁用态的 HTMLInputElement/HTMLSelectElement/HTMLTextAreaElement/HTMLBut…

C++实现简单内存池

/写一个简单的内存池class Cgirl { public:int bh;//编号int xw;//胸围static char* m_pool; //内存池的初始地址//内存池初始化函数、static bool initpool() {cout << "调用初始化函数\n\n";m_pool (char*)malloc(18);//向堆内存空间申请18字节if (m_pool …

100天精通Golang(基础入门篇)——第17天:深入解析Go语言中的指针

&#x1f337; 博主 libin9iOak带您 Go to Golang Language.✨ &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &#x1f30a; 《I…

F#奇妙游(17):F#与真空一维平面大地抛石飞行力学

F#还能干点啥 距离上一次更新已经过去了很久&#xff08;40分钟之久&#xff01;&#xff09;&#xff0c;这段时间我在学习F#&#xff0c;并且在工作&#xff08;划掉&#xff0c;躺肥并没有工作要做&#xff09;中使用F#。 那干点啥呢&#xff1f;还是老本行吧&#xff0c;…

ELK 使用kibana查询和分析nginx日志

背景&#xff1a;使用kibana查询和分析nginx请求日志&#xff0c;方便开发人员查询系统日志和分析系统问题。 setp 1、定义Index patterns 2、定义Discover(Search 查询数据) 3、定义Visualizations 3.1 定义Vertical Bar 3.2 、Choose a source 3.3、定义图表 4、定义…

spring boot中常用的安全框架 Security框架 利用Security框架实现用户登录验证token和用户授权(接口权限控制)

spring boot中常用的安全框架 Security 和 Shiro 框架 Security 两大核心功能 认证 和 授权 重量级 Shiro 轻量级框架 不限于web 开发 在不使用安全框架的时候 一般我们利用过滤器和 aop自己实现 权限验证 用户登录 Security 实现逻辑 输入用户名和密码 提交把提交用户名和…