This is one of the tools built by the standard make command in the TwinDB source code download.
I haven't yet found any reference to it in the TwinDB documentation.
It has, however, saved my data, and almost certainly also saved a lot of my time fiddling about with all the other tools which I did find various bits of documentation about. I played with them enough to see what they could do, but I didn't go all the way and run each of them on every table of every database I wanted to recover.
Fortunately, I stopped and thought "hello, 'innochecksum_changer' is an interesting name for a tool, I wonder what it does…"
As its name suggests, innochecksum_changer will change (or just check and report errors, if that's what you want) the checksums on InnoDB files.
In my case, the data corruption which had occurred in my ibdata1 file was not severe, but almost any corruption will invalidate checksums, thus causing MySQL to barf on startup and fail to let you even try to repair any damage to your databases.
If you can at least repair the checksums so that they match the (partly-corrupted, admittedly) data, then you can at least start MySQL and investigate what data there is and what state it's in.
In my case I did the following:
As a result, I got back all except one (of nineteen) of my databases, with (as far as I can tell) no data loss in the remaining eighteen, and the one which I didn't trivially recover was:
So, before you go to all the trouble of trying to work out how the different parts of TwinDB's toolset fit together, and how many iterations of table-by-table, per database, you'll need to go through, try using innochecksum_changer and see if it just solves nearly all your problems at (as they say) one swell foop.
Go up
Return to main index.