12

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.

1
  • Any luck here? I'm stuck at exactly the same problem. – mmagician Jan 3 '18 at 10:36
20

Try the following:

  1. Set innodb_log_checksums = ON on master and slave.
  2. Remove rm /var/lib/mysql/ib_logfile*.
  3. Restart.
10
  • 2
    Removing ib_logfile you'll lose your data. – digz6666 Jun 27 '18 at 10:22
  • @digz6666 what makes you say that? – Brian Leishman Oct 3 '18 at 21:54
  • 2
    @digz6666 I did before I commented, it worked just fine, nothing lost, and the DB started right up lol – Brian Leishman Oct 4 '18 at 11:15
  • 1
    For reference I also tested this (on WAMP though) and it recovered the database. No data was lost. – Jeff F. Dec 28 '18 at 14:44
  • 1
    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 '20 at 16:17
2

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

1
  • Do not follow this advice unless you don't care about your data. It may be ok to delete these files in a dev environment, but not in production. At least make a backup of the whole database before doing that. – matt Jun 10 at 9:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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