行大小为 8135,大于最大允许大小 (8126)

the row size is 8135 which is greater than maximum allowed size (8126)

目前我们正在使用 MySQL 5.6,现在升级到 MySQL8。我们在 MySQL5.6 中获取了数据库转储,然后重新安装了 MySQL8,现在正在恢复数据库转储。我们在做的时候会遇到一些表的行大小的问题: 行大小为 8135,大于最大允许大小 (8126)

比较了MySQL5.6和MySQL8的几个属性,发现MySQL8有这些更大的属性 innodb_log_file_size innodb_log_buffer_size max_allowed_packet

因为它在 MySQL5.6 上运行良好,我希望它在 MySQL8 上也能正常运行。请让我知道可以在此处进行哪些更改,而不影响任何内容。

尝试在您的 MySQL 配置文件中添加以下行。

innodb_strict_mode = OFF

回到 5.6 并缩小一些 varchar/text 列。 And/or 使用垂直分区。拥有大 'row size' 就是在做某事 'wrong'。请提供 SHOW CREATE TABLE 以供进一步批评。

ROW_FORMAT=COMPACT

如果包含,请将其从您的 sql 中删除。