inno simulate

Simulate InnoDB crash recovery at different innodb_force_recovery levels.

Usage

# Simulate level 1 recovery
inno simulate -f ibdata1 -d /var/lib/mysql --level 1

# Simulate all levels (1-6) and show results
inno simulate -f ibdata1 -d /var/lib/mysql -v

# JSON output
inno simulate -f ibdata1 -d /var/lib/mysql --level 3 --json

Options

OptionDescription
-f, --filePath to InnoDB system tablespace (ibdata1)
-d, --datadirMySQL data directory path
--levelForce recovery level to simulate (1-6, default: simulate all)
-v, --verboseShow per-page details
--jsonOutput in JSON format
--page-sizeOverride page size
--keyringPath to MySQL keyring file

Recovery Levels

LevelNameEffect
1SRV_FORCE_IGNORE_CORRUPTSkip corrupt pages during recovery
2SRV_FORCE_NO_BACKGROUNDPrevent background operations (purge, insert buffer merge)
3SRV_FORCE_NO_TRX_UNDOSkip transaction rollbacks after recovery
4SRV_FORCE_NO_IBUF_MERGESkip insert buffer merge
5SRV_FORCE_NO_UNDO_LOG_SCANSkip undo log scanning
6SRV_FORCE_NO_LOG_REDOSkip redo log apply entirely

Output

For each simulated level, the report includes:

  • Whether the tablespace would survive recovery at that level
  • Number of pages that would be affected
  • Specific risks or data loss implications
  • Recommended recovery actions

See the Crash Recovery guide for decision trees and real-world scenarios.