📅  最后修改于: 2020-11-17 01:52:38             🧑  作者: Mango
版本控制是在开发和发布时将唯一的版本名称或编号分类到唯一的一组软件程序的过程。表示软件或程序的初始发行版的常用版本名称是1.0版。没有可用的行业标准规则来决定应如何格式化版本号。因此,每个公司都有自己的方法来为软件分配版本名称。引入软件和程序中的新功能后,可以修复错误,修复安全漏洞,然后增加版本号以表明这些改进。
使用MySQL的最新支持是版本号v5.8。它包含许多必要的更改,包括添加和删除的新功能,已修复的错误和安全性问题等。此版本包含从MySQL 8.0到MySQL 8.0.21的发行历史。它从2018年4月开始可用,并在2026年4月终止支持。
当您要在系统中安装MySQL时,必须选择要使用的版本和分发格式。您可以通过两种方式安装MySQL,第一种是开发版本,第二种是一般可用性(GA)版本。开发版本提供最新功能,不建议在生产中使用。通用发布(GA)版本也称为生产或稳定版本,主要用于生产。因此,您必须决定最新的General Availability版本。
让我们看看MySQL 8.0版本中的新增功能。
MySQL 8.0版本中添加了以下功能:
数据字典:它包含事务性数据字典以存储有关数据库对象的信息。早期版本将数据存储在元数据文件和非事务表中。
Atomic DDL语句:这是一个Atomic Data Definition Language语句,它将与DDL操作相关联的存储引擎操作,数据字典更新和二进制日志组合到单个原子事务中。
升级过程:以前,新MySQL版本的安装会在下次启动时自动升级数据字典表,然后,DBA应该手动调用mysql_upgrade命令以完成升级过程。在MySQL 8.0.16之后,它不依赖DBA来调用mysql_upgrade命令来完成升级过程。
安全性和帐户管理:添加了一些增强功能以改进安全性,并提供此功能以使DBA在帐户管理中具有更大的灵活性。
资源管理:现在,MySQL允许您创建和支持资源组,将线程分配给特定的组,以便它可以根据该组可用的资源执行。组属性可以通过组中的线程控制其资源消耗。
表加密管理:现在,通过定义和实施加密默认值来全局管理表加密。 default_table_encryption变量或DEFAULT ENCRYPTION子句定义创建架构和常规表空间时的加密默认值。
InnoDB增强功能:InnoDB增强功能已添加到自动增量计数器,索引树损坏,memcached插件,InnoDB_deadlock_detect,表空间加密功能,存储引擎,InnoDB_dedicated_server,zlib库等中。
字符集支持:默认字符集现在从latin1更改为utf8mb4。新的字符集具有许多新的归类,包括utf8mb_ja_0900_as_cs。
JSON增强功能:MySQL的json功能引入了以下增强功能或附加功能:内联路径(->>)运算符,json聚合函数JSON_ARRAYAGG()和JSON_OBJECTAGG(),实用程序函数JSON_PRETTY(),JSON_STORAGE_SIZE()(,JSON_STORAGE_FREE()现在,在对json值进行排序时,每个值都由sort键的可变长度部分而不是固定的1K大小表示,还添加了合并函数JSON_MERGE_PATCH来添加2个json对象和JSON_TABLE()函数。
数据类型支持:在数据类型规范中,它可以支持使用表达式作为默认值。
优化器增强功能:此版本添加了优化器增强功能,例如不可见索引,降序索引,支持功能索引的创建。它可以使用恒定折叠来比较列和恒定值。
窗口函数:此版本支持许多新的窗口函数,例如RANK(),LAG()和NTILE()。
其他一些重要功能包括:
MySQL 8.0版本已弃用了许多功能,可以在以后的系列中删除。下面介绍了一些功能:
可用,您的应用程序需要更新。
Old Name | New Name |
---|---|
INNODB_SYS_COLUMNS | INNODB_COLUMNS |
INNODB_SYS_DATAFILES | INNODB_DATAFILES |
INNODB_SYS_FIELDS | INNODB_FIELDS |
INNODB_SYS_FOREIGN | INNODB_FOREIGN |
INNODB_SYS_FOREIGN_COLS | INNODB_FOREIGN_COLS |
INNODB_SYS_INDEXES | INNODB_INDEXES |
INNODB_SYS_TABLES | INNODB_TABLES |
INNODB_SYS_TABLESPACES | INNODB_TABLESPACES |
INNODB_SYS_TABLESTATS | INNODB_TABLESTATS |
INNODB_SYS_VIRTUAL | INNODB_VIRTUAL |
让我们通过下表了解MySQL早期版本的发行历史:
Version Name | Released Date | End of Support | Description |
---|---|---|---|
MySQL 5.1 | 14-11-2008 | December 2013 | This version contains the releases of MySQL 5.0 to MySQL 5.1.73 versions. To read about the first version of MySQL, click here. |
MySQL 5.5 | 03-12-2010 | December 2018 | This version contains the releases of MySQL 5.5 to MySQL 5.5.62 versions. |
MySQL 5.6 | 05-02-2013 | February 2021 | This version contains the releases of MySQL 5.6 to MySQL 5.5.45 versions. |
MySQL 5.7 | 21-10-2015 | October 2023 | This version contains the releases of MySQL 5.7 to MySQL 5.6.27 versions. |
MySQL 8.0 | 19-04-2018 | April 2026 | This version contains the releases of MySQL 8.0 to MySQL 8.0.21 versions. |
注意:在收购Sun Microsystems之后,版本6停止工作,现在使用MySQL Cluster产品版本7和8。