MySQL 8.4.11(2026-07-28 发布)升级后有一个反直觉点:InnoDB 在早期版本修复 deadlock 时改进了 B-tree 行大小估算,这次升级连带把 CREATE/ALTER 的表结构校验变严。结果是部分在老 8.4 版本能正常建成的表,在 8.4.11 下会被拒绝或产生告警,影响存量应用。
原因是行大小计算现在更精确,包含了 index prefix field 与空间 GEOMETRY 索引后的记录大小,能提前获取 latch 以避免死锁;副作用是超出文档限制的表结构现在会被正确报错。
对运维的实践提示:跨 8.4.x 小版本升级不能只跑 checksum 和复制健康检查,需要拿全量 CREATE TABLE 定义在 8.4.11 实例上预跑一遍。操作方式是 mysqldump --no-data 导出 schema 到测试库,确认没有因行宽校验被拒的表。重点检查超大 VARCHAR 行、列数很多的宽表、含 GEOMETRY 或长 index prefix 的表。
ALTER TABLE ALGORITHM=INSTANT 的逻辑不变,但 ONLINE 校验已前置,升级后首次执行 DDL 时需留意报错行为差异。