Just a quick note to point you to this interesting new project release. It’s an Innodb MySQL recovery toolkit. Here are the procedures, via the howto:
- Split your tablespace to pages with page_parser
- Find your index_id values of a primary indexes for your pages.
- Take one page from your most valuable table directory.
- Create table definition for this table (automatically with create_defs.pl or manually).
- Try to recover some data from this one page file in debug mode.
- If no data was recovered, check your table_defs.h file and try again.
- If everything worked fine, try to run constraints_parser in normal (non-debug) mode and check your data.
- If data looks ok, then get all pages from your table’s directory, concatenate them (cat *.page > pages) and try to recover all your table’s data.
- Repeat steps 3-8 for all tables you need.