Description:
In MySQL 5.7.30 I have this configuration:
[mysqld]
innodb_data_file_path = ibdata1:256M;ibdata2:16M:autoextend
After upgrading installation to MySQL 8.0.19, reusing the same configuration file, I get this error:
2020-07-07T20:25:20.857398Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.19-10) starting as process 1
2020-07-07T20:25:20.882230Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory.
2020-07-07T20:25:27.973243Z 1 [ERROR] [MY-012974] [InnoDB] Tablespace size stored in header is 17408 pages, but the sum of data file sizes is only 16384 pages
2020-07-07T20:25:27.973711Z 1 [ERROR] [MY-012975] [InnoDB] Cannot start InnoDB. The tail of the system tablespace is missing. Have you edited innodb_data_file_path in my.cnf in an InnoDB: inappropriate way, removing ibdata files from there? You can set innodb_force_recovery=1 in my.cnf to force InnoDB: a startup if you are trying to recover a badly corrupt database.
2020-07-07T20:25:27.974083Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
2020-07-07T20:25:32.709426Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2020-07-07T20:25:32.710344Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-07-07T20:25:32.710989Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-07-07T20:25:32.713315Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.19-10) Percona Server (GPL), Release 10, Revision f446c04.
Is this a known limitation of the in-place upgrade mechanism? I'd rather not play with the ibdata* files, total dump/restore would be a show stopper.
Thanks,
How to repeat:
Use a non-default innodb_data_file_path (such as the one I tried with) and try to upgrade from MySQL 5.7.x to 8.0.x