How to recover data from corrupted innoDB table from a crashed mySQL server?
You could try to use MySQL's CHECK TABLE and REPAIR TABLE functions (but make sure you grab a copy of the table first):

mysql -uroot -p database1
CHECK TABLE table1


If that doesn't work, try using:

CHECK TABLE table1 EXTENDED


According to the CHECK TABLE documentation:


  EXTENDED is to be used only after you have run a normal check but still get strange errors from a table when MySQL tries to update a row or find a row by key. This is very unlikely if a normal check has succeeded.


If any errors are reported by either of the above, try:

REPAIR TABLE table1


If that doesn't work, you can try:

REPAIR TABLE table1 EXTENDED


Finally, if that still doesn't work, you may be able to use myisamchk while MySQL is offline - according to the documentation:


  REPAIR TABLE does not implement all the options of myisamchk