InnoDB Recovery In some cases of database corruption, it is enough to dump, drop, and re-create one or a few corrupt tables. You can use the  CHECK TABLE  statement to check whether a table is corrupt, although  CHECK TABLE  naturally cannot detect every possible kind of corruption. In some cases, apparent database page corruption is actually due to the operating system corrupting its own file cache, and the data on disk may be okay. It is best to try restarting the computer first. Doing so may eliminate errors that appeared to be database page corruption. If MySQL still has trouble starting because of  InnoDB  consistency problems, see Section 15.21.2, “Forcing InnoDB Recovery”  for steps to start the instance in recovery mode, which permits you to dump the data. To recover from an unexpected MySQL server exit, the only requirement is to restart the MySQL server. InnoDB  automatically checks the logs and performs a roll-forward of the database to the present.  InnoDB automatically rolls back uncommitted transactions that were present at the time of the crash. During recovery,  mysqld  displays output similar to this: InnoDB  crash recovery consists of several steps: Tablespace discovery is the process that  InnoDB  uses to identify tablespaces that require redo log application. See Tablespace Discovery During Crash Recovery. Redo log application is performed during initialization, before accepting any connections. If all changes are flushed from the buffer pool to the tablespaces ( ibdata*  and  *.ibd  files) at the time of the 3348 •Tablespace discovery •Redo log application InnoDB: The log sequence number 664050266 in the system tablespace does not match the log sequence number 685111586 in the ib_logfiles! InnoDB: Database was not shutdown normally! InnoDB: Starting crash recovery. InnoDB: Using ’tablespaces.open.2’ max LSN: 664075228 InnoDB: Doing recovery: scanned up to log sequence number 690354176 InnoDB: Doing recovery: scanned up to log sequence number 695597056 InnoDB: Doing recovery: scanned up to log sequence number 700839936 InnoDB: Doing recovery: scanned up to log sequence number 706082816 InnoDB: Doing recovery: scanned up to log sequence number 711325696 InnoDB: Doing recovery: scanned up to log sequence number 713458156 InnoDB: Applying a batch of 1467 redo log records ... InnoDB: 10% InnoDB: 20% InnoDB: 30% InnoDB: 40% InnoDB: 50% InnoDB: 60% InnoDB: 70% InnoDB: 80% InnoDB: 90% InnoDB: 100% InnoDB: Apply batch completed! InnoDB: 1 transaction(s) which must be rolled back or cleaned up in total 561887 row operations to undo InnoDB: Trx id counter is 4096 ... InnoDB: 8.0.1 started; log sequence number 713458156 InnoDB: Waiting for purge to start InnoDB: Starting in background the rollback of uncommitted transactions InnoDB: Rolling back trx with id 3596, 561887 rows to undo ... ./mysqld: ready for connections.... InnoDB Crash Recovery