We need to upgrade our DB to version 8, but we're getting an error in the migration log that's preventing us from upgrading.
Creating indexes larger than 767 bytes on tables with redundant row format might cause the tables to be inaccessible.
You have one or more tables with redundant row format. Creating an index larger than 767 bytes might cause the table to be inaccessible (only 50 tables are shown).
More Information: https://bugs.mysql.com/bug.php?id=99791
In order to upgrade, we would need to run the following query for 700 tables:
ALTER TABLE [SCHEMA.TABLE NAME] ROW_FORMAT=DYNAMIC;
Some tables are very large and this would take days to complete. We can't afford to be down for that long.
From what I read, the bug was resolved in version 8.0.22. Here's an excerpt from the change log:
InnoDB: A REDUNDANT row format table created in an earlier version of MySQL, where the row format was not defined explicitly, permitted the addition of an index that exceeded the REDUNDANT row format index column size limit. (Bug #31479542, Bug #99791)
How can we go about migrating from 5.7 to 8 without the error? Is there a way to upgrade to 8.0.22 in order to bypass the error?