Backup Analysis
The inno backup subcommands help you verify backup integrity and understand what changed between backups. Use backup diff to compare page-level changes and backup chain to validate XtraBackup checkpoint continuity.
When to Use
- Validating that incremental backups are complete before a restore
- Identifying which pages changed between a full backup and the current state
- Verifying XtraBackup chain integrity after a backup rotation
- Cross-referencing tablespace LSNs against backup checkpoint metadata
Quick Start
Compare a backup against the current tablespace:
inno backup diff --base /backups/full/mydb/users.ibd \
--current /var/lib/mysql/mydb/users.ibd
Validate an XtraBackup chain:
inno backup chain -d /backups/mysql
Cross-reference with inno verify:
inno verify -f users.ibd --backup-meta /backups/full/xtrabackup_checkpoints
Incremental Backup Comparison
The backup diff command compares page LSNs between two snapshots of the same tablespace:
inno backup diff --base backup/users.ibd --current live/users.ibd --json
{
"base_file": "backup/users.ibd",
"current_file": "live/users.ibd",
"summary": {
"unchanged": 120,
"modified": 8,
"added": 2,
"removed": 0,
"regressed": 0
},
"modified_page_types": {
"INDEX": 7,
"UNDO_LOG": 1
}
}
Regressed pages (current LSN < base LSN) are unusual and may indicate a partial restore or tablespace corruption.
XtraBackup Chain Validation
The backup chain command reads xtrabackup_checkpoints files from backup subdirectories:
inno backup chain -d /backups/mysql -v
Expected directory layout:
/backups/mysql/
full_2026-03-01/
xtrabackup_checkpoints
incr_2026-03-02/
xtrabackup_checkpoints
incr_2026-03-03/
xtrabackup_checkpoints
The validator checks:
- At least one full backup exists
- LSN ranges are contiguous (no gaps)
- Overlapping ranges are flagged but don't break the chain
Backup Metadata Verification
The inno verify --backup-meta flag cross-references a tablespace's page LSNs against an XtraBackup checkpoint file:
inno verify -f /var/lib/mysql/mydb/users.ibd \
--backup-meta /backups/full/xtrabackup_checkpoints
This checks that all page LSNs fall within the checkpoint's from_lsn..to_lsn window. Pages outside the window indicate either:
- The tablespace has been modified since the backup (pages after window)
- The tablespace contains pages from before the backup's coverage (pages before window)
Related Commands
inno verify— structural integrity verificationinno checksum— page-level checksum validationinno diff— byte-level comparison between two tablespace files