MySQL 的最新版本 8.0.29 于 2022 年 4 月 26 日正式发行(GA)。MySQL8.0 发布至今已经历 4 年(2018 年 4 月 19 日 GA),已经进入了标准生命周期的末期,如果你还在继续使用 MySQL 5.7 版本,甚至是 5.6 版本,现在应该认真考虑未来的数据库安全问题。The latest version of MySQL, 8.0.29, was officially released (GA) on April 26, 2022. It has been 4 years since MySQL 8.0 was released (GA on April 19, 2018), and it has entered the end of the standard life cycle. If you are still using MySQL version 5.7 or even 5.6, you should now seriously consider future databases Security Question.
MySQL 8.0.29 is a maintenance release with a lot of bug fixes and a few improvements, so let's take a quick look.
Bug fixes MySQL 8.0.29 fixes 160 bugs and bugs. Special thanks to Yuhui Wang and Bin Wang of China Mobile, who contributed two fixes to MySQL. Fans are welcome to continue to submit bug reports and bug fixes for MySQL.
Functional improvements Minor functional improvements have been made in MySQL 8.0.29, including basic functions that will be used in future versions and functions that will be deprecated. Users need to pay attention to the following: String: When the server uses the "SHOW" statement to output and reports that no characters are required, use utf8mb3 instead of utf8 previously used. Additionally, the server uses utf8mb3 instead of utf8 for character set names used to populate data dictionary tables, which will affect the display of character sets and related information.
Time format: MySQL has relaxed requirements on time format separators or blanks. Starting from this version, users are recommended to use the standard format, and other formats will output warning messages. For example, mysql>?SELECT?DATE"2020/02/20";+------------------+| DATE"2020/02/20" |+--- ---------------+| 2020-02-20|+-----------------+1 row in set, 1 warning (0.00 sec) mysql> SHOW WARNINGS\G******************************** 1. row ********** ***************** Level: Warning Code: 4095Message: Delimiter '/' in position 4 in datetime value '2020/02/20' at row 1 isdeprecated. Prefer the standard ' -'.1?row?in?set?(0.00?sec)
Replication-related: The system variable "replica_parallel_type" is downgraded, this variable will no longer be used, and MySQL enables parallel replication by default. A new variable "binlog_expire_logs_auto_purge" was introduced to control log cleaning. The "group_replication_set_as_primary" function can specify a new primary member to override the primary member generated by the automatic election process.
InnoDB: Support using ALGORITHM=INSTANT, execute ALTER TABLE ... DROP COLUMN statement, and delete columns online.
Cloning: Increase the system variable "clone_delay_after_data_drop" to allow adding a delay after the receiver deletes data, so that the receiver frees up enough space before starting cloning.

MySQL 8.0.29 是一个维护版本,在这个版本里面做了大量的缺陷修复以及少数的改进,让我们快速浏览一下。

缺陷修复

MySQL8.0.29修复了160个缺陷与错误,特别感谢Yuhui Wang和中国移动的Bin Wang,他们为MySQL贡献了两处修复代码。欢迎广大爱好者持续为MySQL提交错误报告和缺陷修复。

功能改进

MySQL8.0.29中做了少量的功能改进,包括未来版本中将使用的基础功能及将弃用的功能。用户需要注意如下内容:

字符串:服务器在使用“SHOW”语句输出、及报告无需字符时,使用utf8mb3代替之前使用的utf8。此外,服务器使用utf8mb3代替utf8用于填充数据字典表的字符集名称,将影响字符集和相关信息的显示。

时间格式:MySQL之前对时间格式的分隔符或空白等要求宽松,从此版本开始,推荐用户使用标准格式,使用其他格式将输出警告信息。例如,

mysql> SELECT DATE"2020/02/20";+------------------+| DATE"2020/02/20" |+------------------+| 2020-02-20|+------------------+1 row in set, 1 warning (0.00 sec) mysql> SHOW WARNINGS\G*************************** 1. row ***************************  Level: Warning   Code: 4095Message: Delimiter '/' in position 4 in datetime value '2020/02/20' at row 1 isdeprecated. Prefer the standard '-'.1 row in set (0.00 sec)

复制相关:系统变量“replica_parallel_type”降级,该变量将不再使用,MySQL默认开启并行复制。引入新变量“binlog_expire_logs_auto_purge”用于控制日志清理。“group_replication_set_as_primary ”函数,可以指定新的主要成员,用于覆盖自动选举过程产生的主要成员。

InnoDB:支持使用ALGORITHM=INSTANT,执行ALTER TABLE ... DROP COLUMN语句,在线删除列。

克隆:增加系统变量“clone_delay_after_data_drop”,允许在接收者删除数据之后增加延时,以使接收者在开始克隆之前释放足够的空间。

更多详细内容可访问官网

稿源:https://mp.weixin.qq.com/s/43XvlwMXZqv3loUYCOzJpw

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。