Friday challenge: ibd recovery


I want to make this Friday a bit more interesting – how do you feel to train a bit in InnoDB data recovery techniques.
I have .ibd datafile which was created by query
CREATE TABLE `tryme` ( `email` mediumblob, `content` mediumblob ) ENGINE=InnoDB … (SOME PARAMETERS SKIPPED) …;

and I inserted one record into this table with email address and English sentence into field (content). Some transformation where applied to both fields so just HEX viewer may not help you there.
Size of meaningful de-transformed content is
length( … (content) … ) = 15.

Can you recovery both email and content fields ? To add some competition I want to give a prize for winner, first who sends content (meaningful English sentence) to given email – will receive our book “High Performance MySQL” 2nd edition, or if he has already this book or just hate it by some reason – I can propose Amazon 25$ Gift Card as replacement.

File tryme.ibd you can download here Size 65536 bytes. md5sum a53d3ee3f3a33854f21b5f550ae53e18.



  1. Gavin Towey says

    Yar, have the data, but now I need to figure out what transformation you applied to it =) Fun contest!

  2. Gavin Towey says


    Well, I finally figured out what the tricksy obfusication. Thankfully I don’t think any real databases would apply transformations like that without them being known when you’re trying to recover data.

    I’m curious if this scenario is based on an actual client experience.

    Thanks to Vadim for putting this together and offering the incentive. I knew *about* innodb recovery techiniqes before, but thankfully have never had to use them. This was an excellent practice exercise, and I highly recommend everyone try to solve it since it will require you to learn a few tricks and skills that will really come in handy if you ever *have* to do it. I thought I knew innodb pretty well before, but I found that there is always much more to learn.

  3. Vadim says


    Congratulation! :)

    The scenario if fully valid (if exclude transformation, that does not happen so often). May be not all steps you made, but that or another part is used for for real data recovery.

Leave a Reply

Your email address will not be published. Required fields are marked *