Bug #100147 MySQL 5.7.30 to 8.0.19 in-place upgrade fails for set innodb_data_file_path
Submitted: 7 Jul 2020 20:51 Modified: 7 Jul 2020 21:24
Reporter: Patrice Levesque Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any

[7 Jul 2020 20:51] Patrice Levesque
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
[7 Jul 2020 21:24] Patrice Levesque
Permission issue.  Sorry.