Mysql – Recovering MySQL data from files in windows

MySQLmysql-5.5recoverywindows

I had a server fail (disk failure, old server; no raid) at the weekend and am unable to recover the MySQL databases from the backup.

After exhausting all the usual recovery options, I've performed a disk recovery and have managed to retrieve the contents of the MySQL data folder located at c:\programdata\MySQL Server 5.5\data.

The folders corresponding to each of the databases are there and are populated with .frm and .myi/.myd files… these seem quite small in size…. between 10 and 20k each. In the root of the data folder there are various files…

ib_logfile0 
ib_logfile1 
ib_logfile0_000 
ib_logfile1_000 
ibdata1 ibdata1_000 
WIN-8KT3MJ6T2PS.err 
WIN-8KT3MJ6T2PS.pid 
WIN-8KT3MJ6T2PS_000.err 
WIN-8KT3MJ6T2PS_000.pid 

So far I have tried installing a new clean server with 2008 R2 (the original host OS) and MySQL 5.5, then stopping the service and replacing the contents of the data directory with that of my recovered data, but when I try this, the MySQL service will no longer start, telling me The description for Event ID 100 from source MySQL cannot be found....

Is there any other way in which I can recover the databases from these files?

Best Answer

Install the same version of MySQL you had before. Reload my.cnf (my.ini) if possible. Reload all the files in that tree. Start mysqld. It might work.

If it does not work, look at the error file; there may be clues. A common one has to do with the size of iblog; this is 'easily' fixed.