[昌哥IT课堂]|如何确定 MySQL 服务器是否为 LTS 版本(译)

根据支持 LTS(长期支持)发布的新发布模型,给定的 MySQL 服务器将分为以下两类:
要么是 LTS 版本。
要么是创新版本。
本博客文章将解释如何确定给定的 MySQL 服务器是否为 LTS 版本。
定义发布类型
MySQL 服务器源代码存储库中包含一个名为 MYSQL_VERSION 的文件,用于定义当前发布的版本号。我们已向此文件添加了另一个字段,名为 MYSQL_VERSION_MATURITY。以下是一个示例文件,用于描述 8.4.1 的更新版本,这是一个 LTS 版本:
MYSQL_VERSION_MAJOR=8
MYSQL_VERSION_MINOR=4
MYSQL_VERSION_PATCH=1
MYSQL_VERSION_EXTRA=-u1
MYSQL_VERSION_MATURITY="LTS"
这个新字段由 cmake 识别,它定义了一个变量,可以在后续的 cmake 处理中使用。Cmake 还添加了一个定义,MySQL 服务器源代码可以识别。在上面的示例中,我们定义了字段 MYSQL_VERSION_EXTRA 的值为 "-u1"。这仅在云构建中使用,表示当前发布是 8.4.0 的更新版本。通常,对于本地发布,该字段为空。
嵌入 LTS 发布类型元数据
作为 cmake 处理的一部分,会生成一个名为 INFO_SRC 的文件,其中包含有关源代码的元数据。该文件已经是打包和安装过程的一部分,并且可以在安装服务器后在 MySQL 服务器主机上读取。例如,对于 RPM 软件包,该文件位于:/usr/share/doc/mysql-cloud-server-8.4.0/INFO_SRC。因此,可以基于服务器安装来确定发布类型,甚至无需启动 MySQL 服务器。以下是文件 INFO_SRC 的示例内容:
commit: 0fef7649b3baf3601b0b2574585a381032d6f73b
date: 2023-10-16 11:58:04 +0200
created at: 2023-10-26 11:33:21Z
branch: mysql-trunk
MySQL source 8.4.1-u1
MySQL release maturity LTS
...
MySQL 服务器升级历史
过去,MySQL 服务器通常会生成一个名为 mysql_upgrade_info 的文件,其中包含上次完成的 MySQL 服务器升级的版本号。该文件已被弃用,并已被移除。相反,现在我们生成一个名为 mysql_upgrade_history 的文件。该文件在服务器第一次初始化时生成。然后,对于每次成功的升级,我们将向该文件添加一个条目,因此它将包含已访问包含该文件的数据目录的 MySQL 服务器版本的追踪记录。该文件包含升级的时间戳、完整版本字符串和发布成熟度类型,以 JSON 数组的形式结构化。请注意,完整版本字符串将包括来自文件 MYSQL_VERSION 的 MYSQL_VERSION_EXTRA 字段,因此版本字符串可能不仅包含版本号。文件中的第一个条目(即服务器初始化时)也标记为 "initialize": true。以下是文件 mysql_upgrade_history 的示例内容:
{
"file_format": "1",
"upgrade_history": [
{
"date": "2024-05-21T01:02:03Z",
"version": "8.4.1-u1",
"maturity": "LTS",
"initialize": true
},
{
"date": "2023-05-22T01:02:03Z",
"version": "9.0.0",
"maturity": "INNOVATION"
}
]
}
结论和进一步工作
INFO_SRC 和 mysql_upgrade_history 文件均可在无需启动 MySQL 服务器的情况下进行读取;因此,可以以非侵入性的方式确定发布类型。然而,通过针对正在运行的服务器执行 SQL 语句来确定发布类型也可能很有用。支持此功能的一种可能性是添加一个信息模式视图或状态变量,其中包含与 mysql_upgrade_history 文件相同的信息。尽管目前尚不支持通过 SQL 访问这些信息,但在以后的版本中可能值得考虑。
转载翻译自MySQL官方博客:https://blogs.oracle.com/mysql/post/determine-whether-lts-release-or-not
文章看完了,如果觉得本文对您的工作或生活有用,希望分享给你身边的朋友,一起学习,共同进步哈~~~
欢迎关注我的公众号【数库信息技术】,你的关注是我写作的动力源泉
各大平台都可以找到我:
————————————————————————————
公众号:数库信息技术
墨天轮:https://www.modb.pro/u/427810
百家号:https://author.baidu.com/home/1780697309880431
CSDN :https://blog.csdn.net/rscpass
51CTO: https://blog.51cto.com/u_16068254
博客园:https://www.cnblogs.com/shukuinfo
知乎:https://www.zhihu.com/people/shukuinfo
————————————————————————————
[昌哥IT课堂]|如何确定 MySQL 服务器是否为 LTS 版本(译)的更多相关文章
- 闰秒导致MySQL服务器的CPU sys过高
今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...
- 如何配置远程mysql服务器
如何配置远程mysql服务器 分配用户权限 可以先看一下目前的用户权限状况: use mysql; select host,user,password from user; 然后分配新的权限给某一用户 ...
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- mysql服务器和配置优化
一.存储引擎 mysql中有多种存储引擎,一般常见的有三种: MyIsam InnoDB Memory 用途 快读 完整的事务支持 内存数据 锁 全表锁定 多种隔离级别的行锁 全表锁定 持久性 基 ...
- 远程连接mysql数据库时报错: 错误代码 2003不能连接到MySQL服务器在*.*.*.*(111)
在测试服务器上安装完mysql后, 服务器自己访问没有问题, 但是本地通过sql客户端连接时报错: 错误代码 2003不能连接到MySQL服务器在*.*.*.*(111).在网上查了一些资料,解决方案 ...
- 登录phpmyadmin提示: #1045 无法登录 MySQL 服务器
打开phpmyadmin,进行登录,出现以下问题,提示:#1045 无法登录 MySQL 服务器 或许出现以下错误情况:phpmyadmin:#1045 无法登录 MySQL 服务器.Access d ...
- 如何将自己的windows设置为mysql服务器
1.安装mysql 服务器 2.创建超级用户,即 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; ...
- 一台MySQL服务器启动多个端口
一台MySQL服务器启动多个端口 在测试Mysql多主一从服务器,即一个从服务器多端口同步不同主库.本文记录了开启不同端口的操作. 详细步骤: 1.首先要先把my.cnf配置文件复制一份,开几个端口要 ...
- 详解 Spotlight on MySQL监控MySQL服务器
前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...
- 1104关于优化mysql服务器几个参数和思路
转自http://www.cnblogs.com/AloneSword/p/3207697.html 按照从大到小,从主要到次要的形式,分析 mysql 性能优化点,达到最终优化的效果. 利用 min ...
随机推荐
- springboot 静态文件夹
正常这个很久了,不需要写,但是好几年没有写这个相关的,都忘了,好记性不如烂笔头 spring: resources: static-locations: file:D:\\test #对应服务器内映射 ...
- win10找不到无线网络报错:Windows无法自动将IP协议堆栈绑定到网络适配器
win10找不到无线网络报错:Windows无法自动将IP协议堆栈绑定到网络适配器 问题描述: 今天启动电脑,忽然发现连不上WIFI了,但可以拨号连接有线网.大致情况如下: 上图是修复后的结果,在未修 ...
- 城市时空预测的统一数据管理和综合性能评估 [实验、分析和基准]《Unified Data Management and Comprehensive Performance Evaluation for Urban Spatial-Temporal Prediction [Experiment, Analysis & Benchmark]》
2023年11月1日,还有两个月,2023年就要结束了,希望在结束之前我能有所收获和进步,冲呀,老咸鱼. 论文:Unified Data Management and Comprehensive Pe ...
- Vue——前端框架
Vue Vue 快速入门 <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- QT原理与源码分析之QT5原理与源码分析视频课程 补天云QT技术培训专家
QT原理与源码分析之QT5原理与源码分析视频课程 补天云QT技术培训专家 以下是<< QT5原理与源码分析视频课程>>的完整目录. 第1章 准备 第1节 您可以学到什么? 第2 ...
- 适用于 VitePress 的公告插件开发实记
前言 笔者维护的 VitePress 博客主题在近1年多的时间里集成了非常多功能,不少用户希望将里面的部分功能分离出来,方便在其它 VitePress 站点也可以独立使用. 其中分离的第一个组件类型的 ...
- 我的网站集成ElasticSearch初体验
最近,我给我的网站(https://www.xiandanplay.com/)尝试集成了一下es来实现我的一个搜索功能,因为这个是我第一次了解运用elastic,所以如果有不对的地方,大家可以指出来, ...
- keycloak~关于授权码认证中的scope的实践
前言 在 Keycloak 14.0.0 中,使用 protocol/openid-connect/auth 接口获取授权码时,scope 参数是可选的,但它确实有作用.下面是关于 scope 参数的 ...
- 全网最适合入门的面向对象编程教程:53 Python 字符串与序列化-字符串与字符编码
全网最适合入门的面向对象编程教程:53 Python 字符串与序列化-字符串与字符编码 摘要: 在 Python 中,字符串是文本的表示,默认使用 Unicode 编码,这允许你处理各种字符集,字符编 ...
- vant2 List 组件 下拉加载 onLoad
ps:loading finished onLoad 两个变量一个函数 : async onLoad() { console.log("onload"); // 异步更新数据 // ...