Where the open source database community meets: Use code PERCONA75 and secure your spot for Percona Live.  Register

Friday challenge: ibd recovery

May 15, 2009
Author
Vadim Tkachenko
Share this Post:

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 http://percona.com/blog/files/contest/tryme.ibd. Size 65536 bytes. md5sum a53d3ee3f3a33854f21b5f550ae53e18.

0 0 votes
Article Rating
Subscribe
Notify of
guest

8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ravenheart
17 years ago

Forbidden

You don’t have permission to access /files/contest/tryme.ibd on this server.

Gavin Towey
Gavin Towey
17 years ago

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

Gavin Towey
Gavin Towey
17 years ago

Success!

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.

Olivier
Olivier
16 years ago

Hi,
I unfortunately tried to get data … Could you publish the solution ?

Far
Enough.

Said no pioneer ever.
MySQL, PostgreSQL, InnoDB, MariaDB, MongoDB and Kubernetes are trademarks for their respective owners.
© 2026 Percona All Rights Reserved