22

I am working with mysql version 5.7.14 (homebrew installation on OS X El Capitan). My system did not shutdown properly while the mysql was running and after rebooting when i try starting the mysql daemon i am getting the below errors.

2017-02-07T10:11:42.224506Z 0 [Note] mysqld (mysqld 5.7.14) starting as process 18234 ...
2017-02-07T10:11:42.227375Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2017-02-07T10:11:42.228809Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-02-07T10:11:42.228821Z 0 [Note] InnoDB: Uses event mutexes
2017-02-07T10:11:42.228826Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2017-02-07T10:11:42.228830Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-02-07T10:11:42.229114Z 0 [Note] InnoDB: Number of pools: 1
2017-02-07T10:11:42.229227Z 0 [Note] InnoDB: Using CPU crc32 instructions
2017-02-07T10:11:42.230512Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-02-07T10:11:42.239632Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-02-07T10:11:42.270103Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2017-02-07T10:11:42.270567Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 44002250712 and the end 44002250240.
2017-02-07T10:11:42.270606Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-02-07T10:11:42.577436Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-02-07T10:11:42.577470Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-02-07T10:11:42.577484Z 0 [ERROR] Failed to initialize plugins.
2017-02-07T10:11:42.577488Z 0 [ERROR] Aborting

I tried restarting mysqld with innodb-force-recovery=1 but no success. Can anyone guide me as to how to recover from this state.

0

1 Answer 1

30

Try the following:

  1. Set innodb_log_checksums = ON on master and slave.
  2. Remove rm /var/lib/mysql/ib_logfile*.
  3. Restart.
5
  • 5
    Please be aware that when you remove these files you are deleting the redo log, which means if the server was very active when it went down you will lose transactions and possibly corrupt the server. Some have reported that "it works for me" because it's harmless on a server with no load, but in production trying to start a crashed server by removing the innodb log files will almost certainly result in data loss and other problems.
    – Eljuan
    May 13, 2020 at 16:17
  • For those having same issues but with MAMP PRO 5, the ib_logfile files are located at Library/Application Support/appsolute/MAMP PRO/db/mysql57 For my case, just deleted ib_logfile1 and ib_logfile0 without having to set innodb_log_checksums = ON
    – birdman
    Jul 2, 2020 at 10:24
  • This may lead to increased errors in mysqld logs. Errors such as: ``` [ERROR] InnoDB: Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html for information about forcing recovery. ```
    – Godfrey
    Apr 28, 2021 at 6:14
  • on xampp the pass is xampp_directory\mysql\data\ib_logfile*
    – ARM
    Feb 23, 2022 at 11:48
  • With XAMPP, the ib_logfile files are at /Applications/XAMPP/xamppfiles/var/mysql, at least for XAMPP 7.4.27 ; and yes, this worked for me, thanks! May 16, 2022 at 6:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.