MySQL 的最新版本 8.2(2023 年 10 月 25 日)是第二个 Innovation 版本。
这个新的 Innovation 版本让我们更接近第一个 MySQL LTS 版本!
这个新的 Innovation 版本包含了很多伟大社区的贡献。MySQL 8.2.0 包含来自 Meta、Nikolai Kostrigin、Meng-Hsiu Jiang (Amazon)、Richard Dang、Shaohua Wang、Hao Lu、Wen He (Tencent)、Yin Peng (Tencent) 和 Daniël van Eeden 的贡献。
让我们看一下所有这些贡献:
服务编译
- #111549 - 对 WITH_ZLIB 功能进行了额外改进 - Nikolai Kostrigin
- #111467 - 构建时使用 WITH_ZLIB="system" 会导致失败,因为无法找到 ZLIB - Meng-Hsiu Chiang (Amazon)
客户端
- mysqldump:添加了
--ignore-views
选项以跳过生成的转储文件中的表视图 - Meta - mysqldump:添加了
--init-command
和--init-command-add
选项,以允许在连接或重新连接到 MySQL 服务器后执行 SQL 语句 - Meta - mysql:添加了
--init-command-add
选项,该选项添加在连接或重新连接到 MySQL 服务器后要执行的附加 SQL 语句。它类似于--init-command
选项 - Meta
InnoDB
- 如果一个 MySQL 表具有在 8.0.29 版本之前添加的 INSTANT ADD 列(从该版本开始不允许),并且在 MySQL 升级到高于 8.0.29 的版本后,对这些表执行 DML 语句将导致服务器意外关闭 - Richard Dang
- 修复了 FTS 解析器插件对单字符标记的处理 - Shaohua Wang
优化器
- #109595 -
records_in_range
为插入操作执行过多的磁盘读取 - Meta - #111564 -
EXPLAIN FORMAT=TREE
在 Hash Join 中丢失了子查询 - Wen He(腾讯) - MySQL 8.0.30 中针对首次调用后未正确执行的存储程序的先前修复未涵盖其中包含 SET 语句的情况 - Hao Lu
Clone 插件
- #110569 - Clone 插件有时会失败,
errno 22,Clone_Snapshot::extend_and_flush_files()
始终创建OS_CLONE_DATA_FILE
类型的文件。该函数使用flush_redo()
来处理 Redo 日志文件,Redo 日志文件必须是OS_CLONE_LOG_FILE
类型,这有时会导致os_file_set_size()
出错 - Yin Peng (腾讯)
文档
- #111200 - 贡献:替换 MySQL 内部手册链接 - Dan
我们可以看到,在第一个 Innovation 发布之后,开发团队处理的贡献数量再次上升。
如果您有补丁并且也想成为 MySQL 贡献者的一部分,这很简单,您可以从 MySQL 的 GitHub 库发送 PR,或者发送有关 MySQL Bugs 的补丁(需要签署 Oracle 贡献者协议)。
再次感谢所有的贡献者!
更多技术文章,请访问:opensource.actionsky.com/
关于 SQLE
SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。