慎重升级到MySQL 8.0.38及更高版本(文末附规避风险办法)

昨日,Percona 资深工程师 Marco Tusa 爆料,升级到 MySQL 8.0.38 版本后,当实例中的表个数超过一万个,实例重启后会发生 Crash 而失败,即便是重启时加上 validate_tablespace_paths=OFF
也不行。

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

详细复现过程参见:https://perconadev.atlassian.net/browse/PS-9306。

我用 MySQL 9.0.0 版本测试:

-- 创建一个最简单的表,并写入数据<br>> CREATE DATABASE test;<br>> USE test;<br>> CREATE TABLE t_1 (<br>  `id` int NOT NULL,<br>  PRIMARY KEY (`id`)<br>);<br><br>> INSERT INTO t_1 SELECT 1;<br>