Let’s fork it…

It’s seems like Undrop for Innodb official repo on githut is now private.

Bad news for the open world, i don’t know if the official repo will be accessible in the future. I don’t know if my 70 lines of script is a part of the problem and if it’s interfer with TwinDB’s business.

I forked the last version of undrop for innodb on bitbucket and i bundled my script with it. You can find the repo here : https://bitbucket.org/Marc-T/undrop-for-innodb

I’ve no project of maintaining undrop-for-innodb core code but the attached script may evolve in the future. Maybe it will be broken in the future. You can fork it / create pull request if you want.

If you have a broken database you could try my little script or try TwinDB’s professional services.

One last word, you should really take care of your backups & binlogs.

🙁

Mysql Undrop for Innodb Database recovery script v2

Hi,
This is an update, now the script supports the following option : “innodb_file_per_table=0” !

A big “thank you” to Nick for his help 😉

To get the update, just download the file again.

wget http://mysql.on.windows.free.fr/wp-download/RecovDB.sh

don’t forget to grant the right to execute the script

chmod +x RecovDB.sh

then, launch the script, command is the same !

./RecovDB dataDirPath dbname

Read my previous post to get more info

EOT

Mysql Undrop for Innodb Database recovery script

There is a link on the desktop to TwinDB’s website, this help a lot to understand the concept and how to recover a corrupted table.

But when you want to recover a full database with let’s say 100+ table it could be a real pain because there is a lot of command to recover table structure and data.

So i made a little shell script (your database must be innodb_file_per_table=1)

So let’s start, first, download the script :

wget http://mysql.on.windows.free.fr/wp-download/RecovDB.sh

then grant the right to execute the scripts

chmod +x RecovDB.sh

then, launch the script !

./RecovDB dataDirPath dbname

  1. replace dataDirPath by the MySQL data directory path
  2. replace dbname by the name of the database you want to recover

Then you will have a subfolder “dump” created, you will find some files :

  • Load Data.SQL > script to reinject data
  • [tableX].sql > Table create statement (1 file per table)
  • [tableX].data > Table data (1 file per table)

Note that you can use this script anywhere , you only need undrop for innodb and a mysql service listening on port 3306.

Hope this helps 🙂

MySQL 5.7 Community Contributor Award Program 2015

Hi,

Some days ago, i tried to beat the Mysql 5.7 optimizer in the challenge launched by Morgan Tocker in this blog post : http://www.tocker.ca/2015/07/15/the-mysql-5-7-optimizer-challenge.html

And i beat it ! So i won a polo and put my name close to great people that i follow every working day in this blog post from Oracle : https://blogs.oracle.com/MySQL/entry/mysql_5_7_community_contributor

😛