Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-15211

Mariabackups give "table 'X' doesn't exist in engine" when restoring backup

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Not a Bug
    • Affects Version/s: 10.1
    • Fix Version/s: N/A
    • Component/s: Backup
    • Environment:

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              winstone Zdravelina Sokolovska
              Reporter:
              stemid Stefan Midjich
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: