Status: Closed (View Workflow)
Resolution: Not a Bug
750G disk /var/databases used for backups and datadir
MariaDB-backup same version
Short description; I restore a mariabackup base backup (or one with incrementals applied) and in any case the restored backup is missing innodb data because I cannot dump tables and I cannot run show create table because I get an error that says "Table 'X' doesn't exist in engine".
I've repeated the issue just for this bug report.
I start with one base backup that finished without errors and says backup_type = full-backuped in /var/database/base_xtrabackup/xtrabackup_checkpoints.
I empty /var/database/restored_xtrabackup and /var/database/mysql dirs.
I run rsync -a /var/database/base_xtrabackup/* /var/database/restored_xtrabackup/ as root.
I run mariabackup --prepare --target-dir=/var/database/restored_xtrabackup as root. See prepare.out.log in attachments for errors regarding one specific table. More about that below.
I run mariabackup --copy-back --target-dir=/var/database/restored_xtrabackup as root. No errors in output.
I then have a mariadb setup on this backup server only for restoring purposes, and I start it without issue.
At this point I'm able to connect to the mysql console and list database, select databases.
But if I try to run show create table on any table I get this error.
ERROR 1932 (42S02): Table 'X' doesn't exist in engine
If I run mysqldump with lock tables the error is;
mysqldump: Got error: 1932: "Table 'X' doesn't exist in engine" when using LOCK TABLES
Without lock tables it just skips the last part of the error.
Noteworthy is that there is some corrpution in the live database. Mysqldump will only work from the live DB node if I use --ignore-table=dbname.mdl_tag_correlation which is en empty table but if I try to dump that empty table mysqldump fails when it reaches that table.
I cannot try a test dump now because it would halt production but tomorrow I can add more info about how it fails and what is logged server side.
I'll have to plan a service window to delete and re-create that table.