bibliothèque Supprimer seulement à pied? Le livre d'auto-assistance de programmeur! | Programme de travail

Auteur | frère tête plate de Bowen technique

Zebian | plomb TANG

Figure Head | RPSC télécharger à partir de l'Est IC

Produit | Blog RPSC

Au travail, nous avons accidentellement supprimé des données ou base de données, nous aurons besoin à fonctionner? Je ne pense pas, les programmeurs doivent apprendre à se servir, mystérieusement pour récupérer les données.

Dans la base de données MySQL, nous savons les enregistrements du journal binlog toutes nos opérations sur la base de données, de sorte binlog journal est notre outil d'auto-assistance.

Ensuite, tournez sur la route pour les programmeurs d'auto-assistance.

Vous voulez une auto-assistance réussie, binlog que l'arme doit être bien avant eux-mêmes, nous devons nous assurer que nous avons le binlog cette arme, il est de veiller à ce que les opérations suivantes ont arme binlog.

1, vérifiez si la base de données est ouverte journal binlog

afficher les variables comme 'log_%';

Explorez le cercle rouge sur, si elle est activée indication contraire non activée. Ne se ouvre pas, alors vous devez effectuer les opérations suivantes.

2, journal binlog ouvert

Si binlog journal n'est pas ouvert, vous devez activer binlog journal, défini dans le fichier de configuration de MySQL, si vous êtes un ordinateur Windows est de trouver le fichier my.ini, les systèmes Unix trouvent my.cnf. Modifier ou définir les paramètres du fichier:

# Enregistrement binaire. # Nom du fichier journal et le chemin de stockage log-bin = D: \ Mysql-binlog \ mysql-bin # Définir le format du journal binlog format = mixte

Ce qui binlog format ont trois options:

  • statment: Chaque instruction SQL qui modifie les données sont enregistrées dans le binlog.

  • ROW: Non enregistré des informations contextuelles chaque instruction SQL, seuls les enregistrements qui enregistrent est modifié.

  • MIXTES: Des mélanges d'au moins deux modes, le mode normal de copie à l'aide ÉNONCÉ sauvegarde binlog, pour le mode de fonctionnement de l'utilisation ROW mode ÉNONCÉ ne peuvent pas être copiés pour sauver binlog, MySQL va choisir d'enregistrer le journal Selon instruction SQL exécutée.

3, redémarrez le serveur MySQL

4, binlog LOGguer tous ont réaffirmé le succès.

Eh bien, à quelques pas après avoir terminé l'opération ci-dessus, nous pouvons apprendre à s'aider, et nous avons utilisé trois scénarios pour démontrer les données ont été supprimés par erreur supprimés par erreur de la table, dans le cas de la bibliothèque de suppression accidentelle comment se sauver.

Avant d'entrer dans des scénarios spécifiques, nous allons préparer les tables de base de données de démonstration et les besoins de données.

1. Créer une base de données pingtouge

créer la base de données pingtouge;

2, créer la table des étudiants

créer étudiant la table ( id INT PAS AUTO_INCREMENT, Nom VARCHAR (100) NOT, num VARCHAR (40) NON, PRIMARY KEY (id) ) MOTEUR = InnoDB DEFAULT CHARSET = UTF-8;

3, les données d'insertion

insérer dans les valeurs étudiant (nom, num) ( 'John Doe', '1234'); insérer dans les valeurs étudiant (nom, num) ( 'John Doe', '1235');

Une fois que vous avez les données, vous pouvez officiellement entrée en scène, êtes-vous prêt?

Première scène: accidentellement supprimé quelques morceaux de données

L'étudiant id = 1 accidentellement la table des données supprimées. Comment faire?

Avec la mémoire insérer manuellement ces données? Non pas comme wow, peut se rappeler est un génie, journal utilisation de binlog est roi.

Utilisez la commande show d'état de maître pour afficher le dernier fichier journal binlog.

Après avoir obtenu le dernier fichier journal binlog, en utilisant les événements binlog show dans mysql-bin.000043 '; commande binlog pour afficher le fichier journal, comme indiqué ci-dessous:

binlog journal enregistre toutes nos activités sur la base de données, y compris le décalage des déclarations avant et soumettre la soumission, au moment de la récupération de données seront utilisées pour compenser ces deux.

Avant d'entrer officiellement la récupération de données, nous avons appris à connaître un outil fourni par MySQL: mysqlbinlog. mysqlbinlog fichier binlog journal est utilisé pour faire fonctionner, nous devons utiliser la récupération de données à elle.

Utilisez mysqlbinlog pour récupérer le fichier journal binaire, le format de commande:

 mysqlbinlog binlog fichier journal --start décalage de la position position finale --stop positions position initiale offset | mysql -u nom de la base -p racine;

mysqlbinlog binlog fichier journal --start décalage de la position position finale --stop positions position initiale offset | mysql -u nom de la base -p racine;

Nous trouvons table id = étudiant décalage de début de la dernière opération et à la fin de décalage 1 Ces données avant de supprimer le fichier journal binlog, dans la figure ci-dessus, je l'ai déjà indiqué, le décalage de départ il est: 710, décalage de fin est la suivante: 996. Avec Après ces deux paramètres, nous pouvons utiliser la commande mysqlbinlog pour restaurer les données.

exécution:

 mysqlbinlog d: \ Mysql-binlog \ mysql-bin.000043 --start positions 710 --stop positions 996 | mysql -u root du pingtouge;

Si la commande est réussie, puis exécutez la commande sélectionner à nouveau * de l'étudiant pour voir si la récupération de données.

De la figure ci-dessus, nous pouvons voir, nous avons réussi à restaurer l'ID de table étudiant = 1 cette données.

Scène 2: Fiche de données supprimé par erreur

Accidentellement supprimé l'étudiant de table.

Pour supprimé par erreur de la table, peut également utiliser journal binlog pour récupérer, après que tous les dossiers de journal binlog de toutes nos opérations pour MySQL, comme une récupération de données unique, nous devons aussi trouver décalage de départ et de fin de décalage dans le fichier journal binlog déplacer montant, pour restaurer les données.

Avec une seule pièce de données ne sont pas les mêmes que pour la table offset, l'offset de départ est le décalage pour commencer à créer la table avant la fin du décalage est la dernière avant la fin de la supprimer la base de données de décalage. Illustré comme suit:

Photo coupe incomplète, je vais diviser les deux chiffres. De même, nous utilisons mysqlbinlog pour restaurer la table des étudiants, exécutons:

 mysqlbinlog d: \ Mysql-binlog \ mysql-bin.000043 --start positions 393 --stop positions 1997 | mysql -u root -p pingtouge

Après la fin de la commande, exécuter select * from étudiant, encore une fois, vous trouverez notre dos de données.

Troisième scène: base de données supprimé par erreur

Vous victime d'intimidation au travail, prêt à bibliothèques supprimer à l'exécuter, si vous mettez la base de données pingtouge supprimer, supprimer après avoir terminé le regretter, comment faire? En ligne.

Ne paniquez pas, binlog journal Tout-Puissant peut vous sauver, tout comme les deux précédents scénarios, ou une requête binlog journal pour la nécessité de restaurer la base de données offset de départ et de fin d'offset. Je ne vais pas capture d'écran.

Binlog trouvé en regardant le journal pour créer une base de données pingtouge un décalage de 219, et enfin compenser avant de supprimer les bibliothèques pour 3861, l'arrivée de ces deux décalages, exécuter:

mysqlbinlog d: \ Mysql-binlog \ mysql-bin.000043 --start position 219 --stop position 3861 | mysql -u root -p

Notez que la dernière n'est pas nécessaire d'apporter la base de données, après l'exécution, pingtouge liées à la base de données trouve tout le dos de données.

bibliothèque Supprimer, et on n'a pas besoin de fuir, nous devons apprendre à se servir, adolescent.

Et que le contenu de l'action « , veulent vous aider à apprendre ou travailler, si vous vous sentez bien des essais, une louange et point d'accueil de l'avant, je vous remercie.

Cet article RPSC blogueur « le blog de technologie frère tête plate « article original, RPSC version officielle autorisée.

Adresse originale: https: //blog.csdn.net/z694644032/article/details/104463920

Lei Jun a déclaré que le WiFi 6 à la fin est quoi?
Précédent
« Poumon Lhasa » de la glace et la fonte des neiges au début oiseaux au printemps volant
Prochain
Qu'est-ce que la fosse d'atterrissage AI échelle? Vice-président Hua Xiansheng Lianmai Ali détaillée
Pourquoi les normes 5G, ont « la vie et la mort »?
Sec! De 0-1 enseigner addictif vous de créer un robot dans le chat?
Obsédé par les chats explosion de rouge, mettant en évidence l'énorme chaîne de blocs NFT magique
Lingling: pour lancer un nouveau travail de détection d'anticorps de la pneumonie couronne IGM pour le personnel de retourner au travail
Comment obtenir les développeurs de négocier un salaire plus élevé?
HMS de base semblait apporter les avantages de la conférence Huawei, Google et Apple trois piliers
Accueil long insectes loin! 76 personnes bouleversé lose Knight, En Bide blessé équipe ce que cela signifie?
Love Express! 10 tonnes sélection de buf et de mouton expédiés de Shigatse Wuhan
Dessiner l'accent! Android 11 première version preview développeur des nouvelles fonctionnalités Dans les coulisses
Electronique guerre magasins « peste » à l'esprit: le retour de la vaccination au travail dur double Shuangzhan
VRAIE version « bibliothèque de suppression à pied? Les programmeurs destruction délibérée de l'environnement de ligne de production