https://cloud.tencent.com/developer/article/2303772

在Oracle,我们不断寻找改进产品的方法,以更好地满足您的需求。我们很高兴推出MySQL创新和长期支持版本,这是MySQL版本控制模型的重要改进。

MySQL 5.7和以前版本的补丁版本主要集中在bug修复和安全补丁上。这在MySQL 8.0中发生了变化,补丁版本中的持续交付模型也包含了新功能。这使得MySQL能够更频繁地向用户发布新功能,而不是每隔几年才发布一次功能。但是,我们知道这种方法可能会给只需要关键补丁的项目和应用程序带来挑战,而这些补丁的行为更改频率较低。我们听取了您的反馈并观察了行业趋势,我们现在正在过渡到一个版本控制模型,您可以在创新和长期支持(LTS)版本之间进行选择。

图片

创新和LTS版本都是生产级质量。如果您希望获得最新的功能和改进,并喜欢掌握最新的技术,MySQL 创新版本可能是最适合您的。这些版本非常适合在快节奏的开发环境中工作的开发人员和DBA,这些开发环境具有高级别的自动化测试和现代持续集成技术,可实现更快的升级周期。另一方面,如果您的环境需要保持已建立的行为,那么LTS版本是您要走的路。这些版本只包含必要的修复,因此它们降低了与数据库软件行为更改相关的风险。

使用新的MySQL版本控制模型,您可以灵活地选择适合特定应用程序和环境需求的选项。我们的目标是确保您在Innovation和LTS版本中获得卓越的用户体验。您可以在下面找到有关新版本控制模型和转换过程的其他信息。

过渡到创新和LTS版本

我们将在即将发布的版本中过渡到新的MySQL版本控制模型。MySQL数据库版本8.1.0将是我们的第一个创新版本,8.0.34+将过渡到仅修复错误,直到计划于2026年4月结束的8.0生命周期(EOL)。大约一年后,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关键补丁更新日历每季度更新一次MySQL数据库。当8.x成为LTS时,您可以计划、测试从8.0.x错误修复版本迁移到LTS发布版本(例如,从8.0.37到8.4.1)。

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

LTS版本将遵循Oracle终身支持政策,其中包括5年的高级支持和3年的扩展支持。创新版本将得到支持,直到下一个主要和次要版本。

MySQL产品组合中的大多数产品都有Innovation和LTS版本:

  • MySQL Server、MySQL Shell、MySQL Router、MySQL NDB Cluster将发布Innovation和LTS版本。
  • MySQL Operator for Kubernetes,InnoDB ReplicaSet,Cluster和ClusterSet将有Innovation和LTS版本。
  • MySQL连接器将使用最新版本,但将被视为一般可用,并将与所有支持的MySQL服务器版本保持兼容。
  • MySQL Workbench将保留在8.0.x上,并且通常可用,并将与所有受支持的MySQL Server版本保持兼容。

MySQL版本发布节奏

  • MySQL 8.0.34+将成为仅修复错误的版本(红色)
  • 创新发布(灰色)可能每季度发布一次
  • 大约每2年将发布一个新的长期支持版本(蓝色)。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创新)。这是为了给予用户在运行Innovation版本时有时间修改数据库部署。

请注意,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将是下一个创新版本。

升级和降级

随着主要和次要创新版本以及每两年发布一次的LTS版本的增加,用户将有更多支持的版本可供选择。作为创新系列的采用者,需要经常更新以进行错误修复和安全补丁,这需要升级和降级策略。

让我们更深入地了解将支持的各种升级和降级场景。

LTS版本中的升级和降级

在LTS版本中,功能保持不变,数据格式不变。

因此:

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

需要更多的工作来完全过渡到这个版本,并将在8.0.34之后的版本中发布。

从一个LTS升级和降级到另一个LTS

  • 可以从一个LTS版本迁移到下一个LTS版本,而无需执行升级创新版本的几个中间步骤。
  • 升级可以通过就地升级、MySQL Shell Dump & Load和MySQL异步复制进行。
  • 降级可以通过MySQL Shell Dump & Load和MySQL复制进行,其唯一目的是回滚正在进行的升级,更多信息如下。

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

  • 将支持从一个创新或LTS版本到未来创新版本的就地升级,直到下一个LTS版本。replication和dump & load也可以工作。
  • 降级将需要逻辑转储和加载。这类似于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

创新8.1 → 8.2

创新8.1 → 8.3

创新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 →创新9.6

✓✮

✓✮

LTS 9.7 →创新9.5

✓✮

✓✮

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

结论部分

随着我们过渡到这种新模式,我们欢迎您与我们的社区渠道和支持团队合作。

您可以在mysql.com/downloads下载最新的MySQL版本,或使用http://edelivery.oracle.com/上的Oracle Software Delivery Cloud下载MySQL Enterprise二进制文件。

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

除了8.0之外,MySQL HeatWave数据库服务现在还提供了最新的MySQL 8.1创新版本。这包括最新的功能,包括OLTP、OLAP、机器学习和Lakehouse。如需免费试用帐户,请访问oracle.com/mysql/free。

我们对这个新的版本控制模型将带来的机会感到兴奋,并热切期待您的反馈。我们可以让MySQL变得更好。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

[转帖]MySQL8.1来了:MySQL创新和长期支持(LTS)版本简介的更多相关文章

  1. Linux系统下祼机安装mysql8.0和docker mysql 8.0 性能差异对比~

    环境准备 准备两台服务器环境,配置相同,分别安装Centos7,mysql8.0,docker mysql 8.0 准备测试代码 public class Chat { public static l ...

  2. MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持

    背景:搞个个人博客的全文搜索得用like啥的,现在mysql版本号已经大于5.6.4了也就支持了innodb的全文搜索了,刚查了下目前版本号都到MySQL Community Server 5.6.1 ...

  3. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(四):安装MySQL数据库

    基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...

  4. Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一)

    原文:Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一) 前端时间,接到领导任务,写了一个调度框架.今天决定把心路历程记 ...

  5. Mac卸载mysql并安装mysql升级到8.0.13版本

    引言 今天mysql升级到8.0.13版本,遇到了很多问题,在此进行总结方便以后查看. 卸载mysql brew uninstall mysql sudo rm /usr/local/mysql su ...

  6. MySQL 数据库SQL语句——高阶版本2

    MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...

  7. MySQL 数据库SQL语句——高阶版本1

    MySQL 数据库SQL语句--高阶版本 实验准备,数据表配置 mysql -uroot -p show databases; create database train_ticket; use tr ...

  8. [转帖]mysql8.0忘记密码如何操作?

    mysql8.0忘记密码如何操作? https://www.cnblogs.com/gspsuccess/p/11245314.html mark 一下 上次竟然不知道怎么弄. 很不幸,刚安装了MYS ...

  9. [转帖] “王者对战”之 MySQL 8 vs PostgreSQL 10

    原贴地址:https://www.oschina.net/translate/showdown-mysql-8-vs-postgresql-10?lang=chs&page=2# 英文原版地址 ...

  10. 【pyhon】理想论坛单帖爬虫取得信息存入MySql数据库

    代码: # 单帖爬虫,用于爬取理想论坛单个帖子得到发帖人,发帖时间和回帖时间并存入数据库,url例子见main函数 from bs4 import BeautifulSoup import reque ...

随机推荐

  1. Android中使用Gson

    Gson是一个Java库,可用于将Java对象转换为它们的JSON表示.它还可以用于将JSON字符串转换为等效的Java对象.Gson可以处理任意Java对象,包括您没有源代码的已有对象. 一.简单使 ...

  2. MYSQL事务篇(高级篇)

    1.事务介绍: 一般是指要做的或所做的事情. 在计算机 术语 中是指访问并可能更新数据库中各种 数据项 的一个程序 执行单元 (unit) 2.数据库事务具有ACID四大特性. ACID是以下4个词的 ...

  3. C#新鲜面试题出炉(2024)

    总所周知  C#这门语言 没有Java的八股文,所以面试题一般都是问的业务, 那么对于新手来讲,最起码也要会一些基础性问题, 以下就是包含C# 和sqlserver几个常见的面试题   1) Dele ...

  4. 主控FC1179 U盘量产修复

    当我们的U盘出现如下情况的话,可以做为参考修复 第一步:可以用Chip Genius工具,查看U盘主控(可得知主控厂商:一芯 ,主控型号:FC1179). 第二步:下载主控相对应的量产工具(笔者已经上 ...

  5. 【开源项目】轻量元数据管理解决方案——Marquez

    大家好,我是独孤风. 又到了本周的开源项目推荐.最近推荐的元数据管理项目很多,但是很多元数据管理平台的功能复杂难用. 那么有没有轻量一点的元数据管理项目呢? 今天为大家推荐的开源项目,就是一个轻量级的 ...

  6. JSON字符串中获取一个特定字段的值

    第一种 import com.google.gson.JsonObject; import com.google.gson.JsonParser; String json="{\" ...

  7. Python从零到壹丨带你了解图像直方图理论知识和绘制实现

    摘要:本文将从OpenCV和Matplotlib两个方面介绍如何绘制直方图,这将为图像处理像素对比提供有效支撑. 本文分享自华为云社区<[Python从零到壹] 五十.图像增强及运算篇之图像直方 ...

  8. 谁说AI看不懂视频?

    摘要:人工智能在视觉领域发展趋于成熟,基于人工智能的视频内容分析能从根本上解决传统内容分析方法性能低下的问题,视频分析开启2.0智能时代. 视频数据量激增,数据处理和内容运营成本居高不下 云计算.大数 ...

  9. 消除视觉Transformer与卷积神经网络在小数据集上的差距

    摘要:本文通过多种操作构建混合模型,增强视觉Transformer捕捉空间相关性的能力和其进行通道多样性表征的能力,弥补了Transformer在小数据集上从头训练的精度与传统的卷积神经网络之间的差距 ...

  10. 华为云UGO:醒醒!你的异构数据库迁移难题有救了

    摘要:华为云推出的数据库和应用迁移 UGO,正是一款专注于异构数据库结构迁移和应用SQL转换的专业云服务. 数字化时代下,上云已成为企业管理者的基本共识,随着技术日新月异,上云也变得轻松简单起来,但异 ...