Maison  >  Article  >  base de données  >  Comment restaurer les données de table nouvellement supprimées dans MySQL

Comment restaurer les données de table nouvellement supprimées dans MySQL

下次还敢
下次还敢original
2024-04-14 19:27:50468parcourir

Restaurez rapidement les tables que vous venez de supprimer : utilisez les commandes FLUSH LOGS et ALTER TABLE. Récupération approfondie des tables supprimées depuis longtemps : remplir les conditions (journal binaire activé, journalisation des événements), déterminer l'emplacement du journal des événements, vider le journal, modifier le fichier SQL, appliquer le fichier SQL.

Comment restaurer les données de table nouvellement supprimées dans MySQL

Comment récupérer les données d'une table récemment supprimées dans MySQL

Récupération rapide

Si la table vient d'être supprimée, vous pouvez utiliser la commande suivante pour la récupérer immédiatement :

<code>mysql> FLUSH LOGS;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> ALTER TABLE table_name RENAME TO table_name_backup;</code>

Récupération en profondeur

Si la table a été supprimée depuis longtemps, vous pouvez utiliser le journal binaire de MySQL pour récupérer les données. Cela nécessite les éléments suivants :

  • La journalisation binaire est activée.
  • Les occurrences d'événements sont enregistrées dans des fichiers journaux binaires.
  • Avoir une autorisation de copie (SUPER ou CLIENT DE RÉPLICATION).

Étapes

  1. Déterminez l'emplacement du journal binaire de l'événement : Utilisez la commande SHOW BINARY LOGS pour rechercher le fichier journal binaire et l'emplacement qui contient l'événement. SHOW BINARY LOGS 命令找到包含事件的二进制日志文件和位置。
  2. 转储二进制日志:使用 mysqlbinlog 工具将二进制日志转储到 SQL 文件中:

    <code>mysqlbinlog --start-position=start_position --stop-position=stop_position binary_log_file > dump.sql</code>
  3. 编辑 SQL 文件:打开转储的 SQL 文件,查找 DROP TABLE table_name 语句,并将其替换为 CREATE TABLE table_name
  4. Vider le journal binaire : Utilisez l'outil mysqlbinlog pour vider le journal binaire dans un fichier SQL :

    <code>mysql -u root -p your_db < dump.sql</code>
Modifiez le fichier SQL :

Ouvrez le fichier SQL vidé et recherchez DROP TABLE table_name et remplacez-la par une instruction CREATE TABLE table_name.

    Appliquez le fichier SQL :
  • Exécutez le fichier SQL modifié pour recréer la table et récupérer les données :
  • rrreee
  • Notes
🎜🎜🎜Les données récupérées ne peuvent contenir aucune modification apportée depuis la suppression de la table. 🎜🎜Les journaux binaires ne peuvent récupérer que les événements qui y sont enregistrés. Si le journal binaire est incomplet, la récupération peut être incomplète. 🎜🎜Avant d'effectuer des opérations de récupération, assurez-vous d'avoir sauvegardé votre base de données. 🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn