As an experiment I have been testing MySQL Enterprise Backuip (MEB) and incremental backups.
The idea was to test backing up a multi terabyte database. The plan was to test using incremental backups to try and get the backup time more manageable. First thing to note is the MEB can run cummulative and differential incremental backups, which is good but the bad news is without some way of block tracking the process is slow.
The database we are testing is 4TB
Full backup (4TB) - 16 hours
Cummulative (25GB) - 11 hours 30 mins
Differential (20GB) - 10 hours 50 mins
The problem is the time taken to run the incremental backups. Without features like block tracking the backup has to check all the blocks to see if there are changed. This is a long process.
The process involves new using the following parameters:
Specifies the type of backup
Specifies the backup location
Specifies the base backup
The incremental-base backup is important if you want to run a cummulative backup use the full backup location and if you want to run a differential then use the last incremental backup location.
mysqlbackup --incremental --incremental-backup-dir=<location|> --incremental-base=dir:<location> backup
For MEB 3.10 users - there is a bug with MEB when using the thread parameters (--read-threads --process-threads --write-threads). The backup dies without explaination, fixed in 3.11