MyISAM + InnoDB really consistent at XtraBackup?

I am regularly dumping 10GB DB, which is now too much to restore via regular methods so I decided to try XtraBackup.

I have a DB which is a mix of InnoDB (file-per-table) and MyISAM tables

Looking at the xtrabackup output gave me some doubts:

  1. It begins with dumping InnoDB tables and logs.
  2. Then it proceeds to MyISAM tables, and here occurs the “FLUSH TABLES WITH READ LOCK”. Isn’t it too late? Won’t MyISAM tables be newer than already dumped InnoDB ones?

Can you explain me if somehow InnoDB tables are then updated from the transaction log to the position where FLUSH TABLES WITH READ LOCK happened?

Regards, Tomasz Kraus

When an Xtrabackup is completed, and the log is applied, the backed up database is consistent with the point in time at the END of the backup, not the beginning.

This means that the InnoDB tables will be consistent with the MyISAM ones even though the MyISAM tables are backed up later.

This is contrasted with something like ‘mysqldump’, which would need to lock all of the tables in the database at the beginning of the backup.