MySQL/MariaDB data directory backup
How does duplicity do the "incremental" backups?  By doing something like rsync?  Or using MySQL's binlogs?

One of the least invasive backups involves LVM.


About 1 minute of downtime, regardless of dataset size.
Only a few percent of disk space needed, regardless of dataset size.  (10% might be more than generous.)
And, yet, you always get a full backup.


How, you should ask?  Obviously some kind of sleight of hand.  Hint: a COW is involved.

But, alas, you have to plan ahead and set up a "Logical Volume" for this to work with.  And the OS has to provide such.  Here's how it works:


Set up the LV (one-time task)
when you want to take a dump, do the following steps:
stop mysqld
take a "snapshot" of the entire disk (perhaps 1 minute)
start mysqld
now you get the slow tedious task of copying the entire snapshot to somewhere else.


More info on the LV and the snapshot in the LV:


The snapshot is a "logical" copy of all the disk blocks.
It feels like a separate drive.
It takes very little extra space -- to start with
When either drive writes anything, the COW mooves into help.  COW = Copy On Write.  That is, the block that is being modified now needs to be come two blocks (and takes more real disk space).  One drive keeps the old copy; one gets the new.
During your copy to elsewhere, the backup LV drive still sees only "old" blocks.
During your copy, mysqld continues to modify blocks, oblivious to the COW grazing in the background.
Well, there will be a lot of I/O due to the copy.


Other notes...


Yes, it would be better to have exactly the same version.
You could install a newer version with the backup, but be sure to do mysql_upgrade.  You could even test an upgrade right there in the snapshot -- without copying to elsewhere.  (Note: the LV would need to be big enough for whatever changes in it.)
There is no concept of "incremental" (unless your copy is something like rsync).
Because I suggested actually stopping mysqld, there is no hard need for playing with %dirty%, etc.  After all, InnoDB can recover from a power failure; this is more graceful than that.