Comment faire pour récupérer supprimé simplement des lignes dans mysql?
Est-il possible de restaurer une table pour la dernière fois avec des données si toutes les données ont été supprimées accidentellement.
- les sauvegardes?.........
- comme une alternative à la plaine de sauvegardes, de mettre en œuvre réversible des transactions et des données de l'histoire
Vous devez vous connecter pour publier un commentaire.
Il y a une autre solution, si vous avez binaire journaux actif sur votre serveur, vous pouvez utiliser
mysqlbinlog
générer un fichier sql avec elle
ensuite, la recherche de vos lignes manquantes.
Si vous n'avez pas active, pas d'autre solution. Faire des sauvegardes suivant l'heure.
En quelque sorte. À l'aide de phpMyAdmin je viens de supprimer une ligne de trop. Mais je l'ai pris avant que je procède et avait la plupart des données du message de confirmation de suppression. J'ai été en mesure de reconstruire l'enregistrement. Mais le message de confirmation tronqué certains d'un commentaire de texte.
Quelqu'un de plus compétent que moi concernant phpMyAdmin connaissez peut-être un paramètre de sorte que vous pouvez obtenir une vue plus complète de l'écho du message de confirmation de suppression. Avec une gamme complète de supprimer le message, si vous ralentir et rattraper votre erreur, vous pouvez restaurer l'ensemble de l'enregistrement.
(PS Cette application envoie également un mail de la demande qui crée l'enregistrement. Si le client a une copie, je vais être en mesure de restaurer l'enregistrement complètement)
Comme Mitch mentionné, la sauvegarde de données est la meilleure méthode.
Cependant, il peut-être possible d'extraire les données perdues en partie selon la situation ou le serveur de base de données utilisé. Pour la plupart, vous êtes hors de la chance si vous n'avez pas de sauvegarde.
Je suis désolé, mais c'est pas possible, sauf si vous faites un fichier de sauvegarde antérieure.
EDIT: en Fait c'est possible, mais il devient très difficile et vous ne devriez pas penser à ce sujet si les données n'ont pas été vraiment, vraiment important. Vous voyez: quand les données supprimées à partir d'un ordinateur, il reste toujours dans le même endroit sur le disque, seulement ses secteurs sont marqués comme vide. Si les données restent intactes, sauf si elle est remplacée par de nouvelles données. Il existe plusieurs programmes conçus à cette fin et il ya des entreprises qui se spécialisent dans la récupération de données, même si elles sont plutôt cher.
Pour les tables InnoDB, Percona est un outil de récupération qui peut aider à. Il est loin de fail-safe ou parfait, et en combien de temps vous avez arrêté votre serveur MySQL après avoir accidentellement supprime a un impact majeur. Si vous êtes assez rapide, les changements sont vous pouvez récupérer un peu de données, mais la récupération de tous de données est presque impossible.
De cours, bon sauvegardes journalières, les binlogs, et, éventuellement, un esclave de réplication (ce qui n'aide pas pour les accidents supprime mais ne l'aide en cas de panne matérielle) sont le chemin à parcourir, mais cet outil pourrait vous permettre d'économiser autant de données que possible lorsque vous n'avez pas de ceux encore.
Non ce n'est pas possible. La seule solution sera d'avoir des sauvegardes régulières. C'est très important.
Malheureusement, non. Si vous exécutez le serveur dans la configuration par défaut, allez obtenir vos sauvegardes (vous ont sauvegardes, non?) - en général, une base de données permet de ne pas garder les versions précédentes de vos données, ou une révision de changements: uniquement à l'état actuel.
(Alternativement, si vous avez supprimé les données par le biais d'un personnalisé frontend, il est tout à fait possible que l'interface n'est pas réellement question d'une SUPPRESSION: de nombreux tableaux ont un
is_deleted
domaine ou similaire, et c'est tout simplement basculé par le frontend. Notez que c'est un "soft supprimer" mis en place dans l'interface de l'app - les données ne sont pas réellement supprimés dans de tels cas; si vous avez réellement émis unDELETE
,TRUNCATE
ou similaire commande SQL, ce n'est pas le cas.)Si vous utilisez MyISAM tables, alors vous pouvez récupérer toutes les données que vous avez supprimé, juste
d'ouvrir le fichier: mysql/data/[your_db]/[your_table].MYD
avec n'importe quel éditeur de texte