Est-il possible de la restauration après s'engager dans MySQL?
J'ai fait une grosse erreur que j'ai mis à jour une table sans clause 'where' MySQL :'(
Il est auto-commis.
Est-il possible de restaurer à partir de ça?
- Pas de. Vous disposez d'une sauvegarde, je présume?
- Malheureusement je n'ai pas de sauvegarde :'(
- Oups! Eh bien c'est une bonne leçon à apprendre 🙂 Si c'était un manuel de requête, on dirait qu', essayez en utilisant des outils comme la base de données MySQL Workbench, qui dispose d'un interrupteur de sécurité de la fonctionnalité, qui permet d'éviter les erreurs comme une mise à jour sans une clause "where".
- Je ressens votre douleur après avoir fait la même chose. Je suppose que tu apprends de tes erreurs.
Vous devez vous connecter pour publier un commentaire.
Non, il n'y a aucune requête que "annuler" un commis de données-modification de la requête.
Si vous disposez d'une sauvegarde de la base de données, vous pouvez restaurer la sauvegarde et l'utilisation DBA outils (en MySQL cas, c'est mysqlbinlog) sur "replay" de toutes les données-modification de requêtes à partir des journaux depuis la sauvegarde dans la base de données, mais ignorer le problème de la requête.
Si vous n'avez pas de sauvegarde et de tous les journaux depuis la sauvegarde, il n'y a rien que vous pouvez faire pour récupérer les données.
Rechercher des journaux de transactions. Je vais mettre à jour avec plus d'informations, mais les journaux ne peuvent rester autour pendant un temps limité si le temps est de l'essence!
Voir: http://dev.mysql.com/doc/refman/5.0/en/point-in-time-recovery.html
Si vous avez activé mysql binlog et aussi il est de la LIGNE en fonction du format, alors vous pouvez obtenir la valeur pour chaque ligne avant & après la mise à jour. L'aide que vous pouvez restaurer l'état de la table.