[MDEV-23614] Mariabackup: Incremental backups produce large, full backups on myisam tables Created: 2020-08-27  Updated: 2023-10-30

Status: Open
Project: MariaDB Server
Component/s: Documentation, mariabackup
Affects Version/s: 10.3.22
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Joe Murray Assignee: Ian Gilfillan
Resolution: Unresolved Votes: 0
Labels: mariabackup
Environment:

Ubuntu 16.04 (on Google Cloud Platform)


Issue Links:
PartOf

 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



 Comments   
Comment by Joe Murray [ 2020-08-28 ]

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.

Comment by Vladislav Lesin [ 2021-03-17 ]

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.

Comment by Elena Stepanova [ 2021-03-28 ]

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.

Generated at Thu Feb 08 09:23:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.