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

Mariabackup: Incremental backups produce large, full backups on myisam tables

Details

    Description

      Mariabackup performed using incremental backup on tables using the myisam engine don't backup the incremental information. They back up all information. Here is the difference between backups with the same data on myisam (first set) and innodb (second set) tables:

      The issue with the large backup do appear to be engine related. With a static DB I ran a full and two incrementals:
      root@ubuntu-server-template:/opt/mysql/backup# du -sh *
      34M base_2020-08-27
      33M inc_2020-08-27_1
      33M inc_2020-08-27_2

      I then converted MasterImageSql from MyISAM to InnoDB. I cleared the old backups and ran a full and two incrementals:
      root@ubuntu-server-template:/opt/mysql/backup# du -sh *
      45M base_2020-08-27
      1.4M inc_2020-08-27_1
      1.4M inc_2020-08-27_2

      Backup commands were run using identical command line options. On both, no new transactions were committed between the time of the full backup, and the time of the incremental backup

      Full command: mariabackup --backup --target-dir=/opt/mysql/backup/base_2020-08-27 --databases-exclude= --user=root --compress
      Incremental command: mariabackup --backup --target-dir=/opt/mysql/backup/inc_2020-08-27_1 --incremental-basedir=/opt/mysql/backup/base_2020-08-27 --compress --databases-exclude= --user=root

      Attachments

        Activity

          joemurray Joe Murray added a comment -

          I noticed that in percona xtrabackup, an incremental specification causes a full backup to be run (it looks like it effectively ignores the "incremental" directive).
          https://www.percona.com/doc/percona-xtrabackup/2.3/innobackupex/incremental_backups_innobackupex.html

          I did not see this same behavior described in the mariabackup docs, unless I'm looking in the wrong places, and googling for this result hasn't been helpful.

          joemurray Joe Murray added a comment - I noticed that in percona xtrabackup, an incremental specification causes a full backup to be run (it looks like it effectively ignores the "incremental" directive). https://www.percona.com/doc/percona-xtrabackup/2.3/innobackupex/incremental_backups_innobackupex.html I did not see this same behavior described in the mariabackup docs, unless I'm looking in the wrong places, and googling for this result hasn't been helpful.

          Incremental backup is incremental only for InnoDB. I.e. it compares page's LSN's and copies only the pages which were changed since the last backup. As for the the rest engines, their files are copied as for the full backup.

          vlad.lesin Vladislav Lesin added a comment - Incremental backup is incremental only for InnoDB. I.e. it compares page's LSN's and copies only the pages which were changed since the last backup. As for the the rest engines, their files are copied as for the full backup.

          This is not the first time the question is raised.
          Even though the incremental backup page in the KB hints at it being related to InnoDB, obviously it is insufficient, it should explicitly state that incremental backup only applies to InnoDB.

          elenst Elena Stepanova added a comment - This is not the first time the question is raised. Even though the incremental backup page in the KB hints at it being related to InnoDB, obviously it is insufficient, it should explicitly state that incremental backup only applies to InnoDB.

          People

            greenman Ian Gilfillan
            joemurray Joe Murray
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.