号外!号外!MySQL 因重大 Bug 紧急发布新版本

本月初 MySQL 官方发布了第三季度的新版本,分别是MySQL 9.0 新的创新版本,以及 LTS 长周期版本 8.4.1 和 MySQL 8 系列的 MySQL8.0.38 版本。但是这个季度的这三个版本均存在一个致命的 Bug #36808732。

7 月 11 日开源数据库软件服务商 percona 发布重要警告,最新的 MySQL 版本存在重大Bug:

Do Not Upgrade to Any Version of MySQL After 8.0.37

号外!号外!MySQL 因重大 Bug 紧急发布新版本-1

上面是 percona 官网的一篇文章截图(原文:https://www.percona.com/blog/do-not-upgrade-to-any-version-of-mysql-after-8-0-37/)。简而言之,如果您创建了大量的表,比如 10000 个,MySQL 守护进程就会在重启时崩溃,该 Bug 在

MySQL 8.0.38
MySQL 8.4.1
MySQL 9.0.0

三个版本中被确认,这个问题在 >= 8.0.38 版本中存在,包括 8.4.1 和 9.0.0。

很多网友和大佬们出于好奇也进行了测试,当创建的表达到 10000 后重启实例,就能看到实例启动失败,实在是大跌眼镜。当然也有大佬给出了解决方案,使用共享/通用表空间,但是也不推荐。

-- 1. 使用共享表空间方案 > SET GLOBAL innodb_file_per_table = 0; > CREATE TABLE test ...; -- 2. 使用通用表空间方案 > CREATE TABLESPACE test ADD DATAFILE 'test.ibd'; > CREATE TABLE t_test1(...) TABLESPACE=test;