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提交错误报告和缺陷修复。





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 ”函数,可以指定新的主要成员,用于覆盖自动选举过程产生的主要成员。