MySQL cannot start inside the container: InnoDB corruption

Created:

2016-11-16 12:42:08 UTC

Modified:

2017-04-13 01:53:39 UTC

0

Was this article helpful?


Have more questions?

Submit a request

MySQL cannot start inside the container: InnoDB corruption

Symptoms

  1. MySQL cannot start inside a container:

    ~# service mysqld start
    Timeout error occurred trying to start MySQL Daemon.
    Starting MySQL: [FAILED]
  2. Upon checking MySQL logs, the following error can be observed, that indicates InnoDB corruption:

    130810 18:29:44  mysqld started
    InnoDB: Log scan progressed past the checkpoint lsn 26 2213223494
    130810 18:29:44 InnoDB: Database was not shut down normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages from the doublewrite
    InnoDB: buffer...
    InnoDB: Doing recovery: scanned up to log sequence number 26 2213226852
    130810 18:29:45 InnoDB: Starting an apply batch of log records to the database...
    InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 InnoDB: Probable data corruption on page 1253469
    InnoDB: Original record (compact record)
    InnoDB: on that page.
    InnoDB: Cannot find the dir slot for record (compact record)
    InnoDB: on that page!
    130810 18:29:45 InnoDB: Page dump in ascii and hex (16384 bytes)
    -----snip-----
    130810 18:43:03 InnoDB: Page checksum 2737367751, prior-to-4.0.14-form checksum 3741771681
    InnoDB: stored checksum 2737367751, prior-to-4.0.14-form stored checksum 3741771681
    InnoDB: Page lsn 26 2211199944, low 4 bytes of lsn at page end 2211199944
    InnoDB: Page number (if stored to page already) 1253469,
    InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
    InnoDB: Page may be an index page where index id is 0 522
    130810 18:43:03InnoDB: Assertion failure in thread 1120397632 in file page0page.c line 132
    InnoDB: We intentionally generate a memory trap.
    InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
    InnoDB: If you get repeated assertion failures or crashes, even
    InnoDB: immediately after the mysqld startup, there may be
    InnoDB: corruption in the InnoDB tablespace. Please refer to
    InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
    InnoDB: about forcing recovery.
    130810 18:43:03 - mysqld got signal 11 ;

Cause

The InnoDB storage file of MySQL contains some kind of corruption which does not allow MySQL to use this storage further without forced recovery of the storage structure.

Resolution

Process of fixing ordinary MySQL InnoDB corruption inside a container is exactly the same as in a usual hardware node. You may refer to official MySQL resources:

Forcing InnoDB Recovery .

Have more questions? Submit a request
Please sign in to leave a comment.