Toutes les bases de données MySQL perdues du jour au lendemain

15

Après un appel d'un client pour me dire que son site Web est en panne, je constate que MySQL sur notre serveur RackSpace Cloud Windows 2008 ne fonctionnait pas. J'ai redémarré MySQL, mais j'ai obtenu l'erreur «Accès refusé pour l'utilisateur» dans le navigateur pour tous les sites Web avec la base de données MySQL. Lorsque je regarde dans MySql Server 5.5 / data, il n'y a pas de dossiers autres que mysql et performance_schema. Il semble que toutes les bases de données et données ont été effacées. Est-ce que quelqu'un sait ce qui aurait pu se passer et où les données ont disparu? Pour couronner le tout, je viens de découvrir que ce serveur est absent de notre service de sauvegarde.

ps semble être après la mise à jour de Windows à 4h01 ce matin.

Iain
la source
Y a-t-il des entrées pertinentes dans votre système et dans les journaux MySQL?
user9517
1
"Pour couronner le tout, je viens de découvrir que ce serveur est absent de notre service de sauvegarde." Aie.
Tom O'Connor
le fichier journal commence à 09h00 ce matin lorsque j'ai démarré MySQL: InnoDB: fichier journal. \ ib_logfile0 n'existait pas: nouveau à créer InnoDB: définition du fichier journal. \ ib_logfile0 taille à 5 Mo InnoDB: la base de données écrit physiquement le fichier complet : attendez ...
Iain
1
C'est plus que le dernier fossé, mais vous pourriez peut-être essayer un logiciel de récupération de données. Vous devez cependant éteindre le serveur dès que possible et accéder aux disques hors ligne.
Dan
7
Êtes-vous sûr de chercher dans le bon répertoire? On peut avoir changé le datadirdans les fichiers de configuration sans recharger MySQL et ce problème n'apparaît qu'après un redémarrage de MySQL (éventuellement déclenché par la mise à jour du système).
gertvdijk

Réponses:

32
  1. Contactez le support Rackspace. C'est pour ça qu'ils sont là.
  2. Faites tout ce qu'ils suggèrent.
  3. Si cela ne fonctionne pas, essayez la suggestion de Dan d'un logiciel de récupération de données.
  4. Utilisez-le comme une opportunité de croissance et d'apprentissage.

Assurez-vous toujours que tous vos serveurs sont sauvegardés et testez régulièrement les sauvegardes. Il n'y a aucun intérêt à avoir un service de sauvegarde si vous ne testez jamais réellement que vous pouvez restaurer à partir de celui-ci.

Oh, et désactivez les mises à jour automatiques. Ne les faites que lorsque vous avez testé l'impact de la mise à jour, de préférence sur un autre serveur configuré de manière identique.

Tom O'Connor
la source
6
+1 Cela devrait vraiment être une réponse canonique aux questions demandant comment restaurer des données qui n'ont pas été sauvegardées.
dunxd
2
Merci pour votre aide. gertvdijk m'a mis sur la bonne voie, car j'ai trouvé les dossiers de données également sous Program Files / MySQL ainsi que ProgramData / MySQL et restauré à partir d'une combinaison de dossiers de données et d'un fichier ibdata1 après la réinstallation de MySQL. En ce qui concerne la cause du problème d'origine qui a causé la corruption et empêché MySQL de démarrer, le seul indice que j'ai est la mise à jour de Windows à 4 heures du matin ce matin, mais je ne peux pas dire que c'était sûr. A mis en évidence ce serveur omis du programme de sauvegarde et ce serait celui avec le problème n'est-ce pas.
Iain
1
Vous devez envisager de modifier les paramètres du serveur de sorte que les mises à jour du système ne soient pas installées automatiquement et sans surveillance, à moins que vous ne contrôliez par d'autres moyens exactement les mises à jour installées. Que faire si une mise à jour modifie le comportement du système de manière à briser les sites Web de vos clients?
un CVn
5
Ceci est borderbait mais pensez à déplacer vos bases de données mysql vers un serveur linux. Leurs mises à jour de sécurité automatiques ne redémarrent jamais le serveur et chaque fournisseur de distribution majeur testera la compatibilité des mises à jour avec un porgramme de base comme mysql (d'un autre côté, ni Microsoft ni Oracle ne testeront mysql par rapport à une mise à jour Windows). Un cronjob de sauvegarde est probablement un peu plus facile et plus fiable que la plupart des logiciels de sauvegarde Windows.
Bryan Waters