— You may see warnings in the output about tables that do not exist. This is because InnoDB-based engines stores its data dictionary inside the tablespace files. xtrabackup removes the missing tables (those that haven’t been selected in the partial backup) from the data dictionary in order to avoid future warnings or errors.
xtrabackup --prepare --export --target-dir=8.0f
*** redacted ***
Could not find any file associated with the tablespace ID: 596
Could not find any file associated with the tablespace ID: 597
Could not find any file associated with the tablespace ID: 598
Could not find any file associated with the tablespace ID: 599
Could not find any file associated with the tablespace ID: 600
Could not find any file associated with the tablespace ID: 601
Use --innodb-directories to find the tablespace files. If that fails then use --innodb-force-recovery=1 to ignore this and to permanently lose all changes to the missing tablespace(s)
*** redacted ***
In comparison to Xtrabackup 2.4 with MySQL 5.6 and 5.7, the InnoDB data dictionary entries are removed for tables it cannot find:
Eg.
InnoDB: Removing missing table `sbtest3/sbtest1` from InnoDB data dictionary.
InnoDB: Removing missing table `sbtest3/sbtest10` from InnoDB data dictionary.
InnoDB: Removing missing table `sbtest3/sbtest100` from InnoDB data dictionary.
InnoDB: Removing missing table `sbtest3/sbtest11` from InnoDB data dictionary.
InnoDB: Removing missing table `sbtest3/sbtest12` from InnoDB data dictionary.
InnoDB: Removing missing table `sbtest3/sbtest13` from InnoDB data dictionary.
InnoDB: Removing missing table `sbtest3/sbtest14` from InnoDB data dictionary.
Environment
None
Smart Checklist
Activity
Show:
Julia Vural July 23, 2024 at 1:56 PM
With 8.0, the dictionary is not easily changeable. This will be a significant effort that we cannot take.
As per documentation, missing tables are removed from the InnoDB data dictionary in preparing partial backups : https://www.percona.com/doc/percona-xtrabackup/LATEST/howtos/recipes_xbk_partition.html:
— You may see warnings in the output about tables that do not exist. This is because InnoDB-based engines stores its data dictionary inside the tablespace files. xtrabackup removes the missing tables (those that haven’t been selected in the partial backup) from the data dictionary in order to avoid future warnings or errors.
Example:
# partial backup xtrabackup --defaults-file=/home/drake/sandboxes/msb_8_0_25/my.sandbox.cnf --databases="sbtest3 sbtest4 sbtest5" --backup --target-dir=8.0f
Preparing the backup:
xtrabackup --prepare --export --target-dir=8.0f *** redacted *** Could not find any file associated with the tablespace ID: 596 Could not find any file associated with the tablespace ID: 597 Could not find any file associated with the tablespace ID: 598 Could not find any file associated with the tablespace ID: 599 Could not find any file associated with the tablespace ID: 600 Could not find any file associated with the tablespace ID: 601 Use --innodb-directories to find the tablespace files. If that fails then use --innodb-force-recovery=1 to ignore this and to permanently lose all changes to the missing tablespace(s) *** redacted ***
In comparison to Xtrabackup 2.4 with MySQL 5.6 and 5.7, the InnoDB data dictionary entries are removed for tables it cannot find:
Eg.
InnoDB: Removing missing table `sbtest3/sbtest1` from InnoDB data dictionary. InnoDB: Removing missing table `sbtest3/sbtest10` from InnoDB data dictionary. InnoDB: Removing missing table `sbtest3/sbtest100` from InnoDB data dictionary. InnoDB: Removing missing table `sbtest3/sbtest11` from InnoDB data dictionary. InnoDB: Removing missing table `sbtest3/sbtest12` from InnoDB data dictionary. InnoDB: Removing missing table `sbtest3/sbtest13` from InnoDB data dictionary. InnoDB: Removing missing table `sbtest3/sbtest14` from InnoDB data dictionary.