Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

This weekend, I updated a Windows 8 workstation to Windows 8.1. This was a development workstation that had a locally hosted MySQL 5.6 instance used for web development work.

After the update finished running, I discovered that the MySQL service was not started... and not only that, the service was completely gone. It no longer appeared in the "services" list.

All the binaries were still present where expected at C:\Program Files\MySQL\MySQL Server 5.6\bin, but the C:\Program Files\MySQL\MySQL Server 5.6\data folder looked suspiciously small... the ibdata1 file was less than 100 megs, and this workstation had gigs of data in it's InnoDB database tables.

Sure enough, once I manually fired up the MySQL server, it appeared to have been reset to a fresh MySQL installation. No data besides default databases (i.e., mysql, information_schema, performance_schema), and the only user was "root" with no password.

My first thought was to roll back to a system restore point prior to the update, but unfortunately it appears that System Restore was either off, or all the restore points were wiped out by the 8.1 upgrade.

I'm at a loss as to what would cause this. It's like the Windows 8.1 upgrade "reset" the MySQL installation. I've got the service installed and running again, but what about all the data? Is it just gone? It would have been nice to have a warning. Maybe this post will be nothing but a warning to others (obligatory reference), but I'm still hoping somebody can give me a clue how to recover my data...

share|improve this question

closed as off-topic by MDMarra, Rex, ceejayoz, Dennis Kaarsemaker, Shane Madden Dec 14 '13 at 23:17

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions must be relevant to professional system administration. Server Fault is dedicated to professional system and network administrators. End user and enthusiast questions are off-topic (contact your system administrator or hire a professional to help you out). Please see the Help Center for more information." – MDMarra, ceejayoz, Dennis Kaarsemaker, Shane Madden
If this question can be reworded to fit the rules in the help center, please edit the question.

2  
Whatever happened, now it's time to restore from your backups. –  Michael Hampton Dec 14 '13 at 19:07
    
Yeah, I've already started down this path... I just find it rather shocking--I would never have guessed that Windows 8.0 -> 8.1 would blow away all your MySQL data! –  Josh Dec 14 '13 at 22:34

1 Answer 1

I can't explain why the service disappeared, but I did figure out what happened to the data.

Somehow, my my.ini file got completely wiped out. Once I got a copy of that file, I saw that the datadir value was set to C:/ProgramData/MySQL/MySQL Server 5.6/data\

This is not the default location of C:\Program Files\MySQL\MySQL Server 5.6\data. It is, however, the location setup by the MySQL installation.

So, a non-default datadir was setup (by the installer, not by user intervention) when MySQL was initially installed. Then, the Windows 8.1 upgrade wiped out the service and the my.ini file (which pointed to the non-default datadir), and thus when MySQL was restarted, it looked in the default directory, found nothing, and thus all the data appeared to be missing.

So, in summary, the solution was:

  1. Reinstall mysql service via mysqld --install
  2. Restore my.ini file. By the way, there was a copy of my.ini in C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

Hope that helps someone else who runs into this same issue!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.