作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万+ 擅长主流Oracle、MySQL、PG、 高斯及Greenplum备份恢复, 安装迁移,性能优化、故障应急处理 微信:jem_db QQ交流群:587159446 公众号:IT邦德
文章目录
前言
2024年7月1推出了最新的MySQL9.0.0创新版本,但是由于存在重大BUG,MySQL在7月23日重新发布了新版本.
1.重大bug
7/11日开源数据库软件服务商percona发布MySQL9.0.0重大BUG警告

本次涉及的是3个版本如下 MySQL 8.0.38 MySQL 8.4.1 MySQL 9.0.0
简而言之,如果你创建了大量的表,比如10000个,mysql守护进程将在重启时崩溃。
DELIMITER //
CREATE PROCEDURE CreateTables()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= 10001 DO
SET @tableName := CONCAT('mysql', i);
SET @stmt := CONCAT('CREATE TABLE ', @tableName, ' (id INT PRIMARY KEY AUTO_INCREMENT, data VARCHAR(100));');
PREPARE createTable FROM @stmt;
EXECUTE createTable;
DEALLOCATE PREPARE createTable;
SET i := i + 1;
END WHILE;
END //
DELIMITER ;
CALL CreateTables();
于是我也在之前安装的环境做了下测试,确实存在当创建的表达到10000个后重启实例,就能看到实例启动失败。

2.修复版本
目前三个存在Bug的版本已经无法下载了,以下是之前MySQL9.0.0的截图

7 月 23 日之后 MySQL9.0.0和MySQL 8.4.1 和 MySQL 8.0.38 这三个版本已经无法从历史归档中下载了 目前发布的新版本如下,测试发现确实修复了bug MySQL 9.0.1 MySQL 8.4.2 MySQL 8.0.39

3.版本升级的风险
数据库版本升级是一项重要的维护工作,但同时也伴随着一定的风险,确保升级过程顺利进行,同时保证业务的连续性和数据的安全性至关重要。
4.总结
本来以为这次 MySQL9.0会有一些王炸的新特性,结果呢,本次除了修复了 100 多个 Bug 之外,几乎没啥对开发者有帮助的点,结果还出现了重大bug.
