mysql crashed and not starting even after adding innodb_force_recovery

Solution 1:

Isn't MySQL wonderful for giving so much advice in plain, human readable English in its log messages?!

InnoDB: It is also possible that your operating system has corrupted its own file cache and rebooting your computer removes the error. If the corrupt page is an index page. You can also try to fix the corruption by dumping, dropping, and reimporting the corrupt table. You can use CHECK TABLE to scan your table for corruption. Please refer to http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html for information about forcing recovery.

This is what you have already tried. When you still can't get it to start, it's obviously impossible to run any SQL queries or commands to solve this by dumping the database for reimporting. If you have also rebooted before innodb_force_recovery, this leaves us the last option, also found from the logs:

InnoDB: Database page corruption on disk or a failed file read of page [page id: space=0, page number=360462]. You may have to recover from a backup.

You do have backups, right?


Without a backup your last hope could be Percona Data Recovery Tool for InnoDB.

This project is a set of tools for recovering lost or corrupted MySQL data from InnoDB's data files. It was created at Percona, and open-sourced for the community to use.

I'm not in any affiliation with Percona and only recommend the open-sourced tools and documentation.