Maison  >  Article  >  base de données  >  Analysez comment restaurer les données de la base de données via le journal binaire Mysql (explication graphique et textuelle détaillée)

Analysez comment restaurer les données de la base de données via le journal binaire Mysql (explication graphique et textuelle détaillée)

怪我咯
怪我咯original
2017-04-30 10:25:231467parcourir

Cet article présente principalement en détail comment restaurer les données d'une base de données via le journal binaire de Mysql. Il a une certaine valeur de référence. Ceux qui sont intéressés peuvent en savoir plus.

Souvent, les administrateurs de sites Web suppriment accidentellement les données du site Web pour diverses raisons et opérations, et n'effectuent pas de sauvegarde du site Web. En conséquence, ils sont perdus et entraînent même des problèmes au fonctionnement du site Web. et la rentabilité. Ainsi, dans cet article, nous partagerons avec vous comment récupérer des données via le deuxième journal du mécanisme de Mysql (binlog).

Environnement système :

Système d'exploitation : CentOS 6.5 X64 (machine virtuelle)

Service WEB : PHP+Mysql+apache

Site Web : Pour plus de commodité, créez un site DEMO directement en utilisant le système Chanzhi localement

Étapes de fonctionnement :

1 Activez la fonction binlog et les opérations de base ; ;

2. Ajouter des données au site ;

3. Actualiser le journal binlog

4. analyse ;

6. Restaurer les données spécifiées

1. Activer la fonction binlog et les opérations de base

Pour utiliser la fonction binlog de Mysql, vous devez ouvrez d’abord Mysql Activez cette fonction dans le fichier de configuration et l’opération est très simple. Recherchez le fichier de configuration Mysql et ajoutez une ligne "log_bin = mysql-bin" au fichier. En fait, dans les différents environnements Mysql que j'ai installés, cette fonction est généralement activée par défaut.

Après avoir activé la fonction binlog, il y aura des fichiers tels que mysql-bin.000001, mysql-bin.000002 et d'autres fichiers dans le répertoire de la base de données mysql. Il s'agit du fichier journal binaire de mysql. Un nouveau fichier journal binaire sera créé à chaque démarrage de MySQL ou à chaque actualisation manuelle du journal.

Tout d'abord, dans notre ligne de commande mysql, utilisez la commande "show master logs" pour afficher le fichier binlog existant.

2. Ajouter des données au site

Dans le module d'article en arrière-plan du site Web, j'ai ajouté plusieurs données de test .

3. Actualisez le journal binlog

Auparavant, le fichier binlog de mysql était mysql-bin.000001, et il était envoyé à la base de données en arrière-plan du site Trois articles ont été ajoutés à . Maintenant, nous actualisons le journal binlog et un nouveau fichier mysql-bin.000002 sera généré, comme suit :

flush logs;

show master logs;

4. Supprimer les données

Ici, je supprime les trois articles que je viens d'ajouter.

5. Analyse du contenu du journal Binlog

Le fichier journal binaire de Mysql enregistre les opérations MySQL, telles que l'opération de suppression à l'instant. fichier journal.

Utilisez la commande mysqlbinlog de mysql :

 mysqlbinlog /data/mysql/mysql-bin.000002

Remarque : Parce que mon mysqlbinlog local ne peut pas reconnaître le jeu de caractères par défaut dans le configuration binlog = utf8, j'ai donc ajouté ici "-no-defaults" à la commande pour la faire fonctionner. Tout le monde peut en tirer des leçons.

Ce qui suit est une capture d'écran partielle du contenu du journal :

6. ;

Lors de la restauration des données via le journal binlog mysql, nous pouvons spécifier la récupération à un moment précis, ce qui est un peu comme la gestion des instantanés du serveur. Nous voulons maintenant restaurer l'article que nous venons de supprimer. Nous pouvons trouver un moment précis avant la suppression et le restaurer à ce moment précis.

Concernant la façon d'utiliser la commande mysqlbinlog, nous pouvons la visualiser via la commande d'aide mysqlbinlog, comme suit :

mysqlbinlog –no-defaults –help

Comme indiqué dans le document d'aide, les données peuvent être restaurées en spécifiant une heure ou un lieu spécifié. Ici, j'utiliserai l'heure spécifiée comme exemple pour vous le démontrer.

Vérifions le fichier journal mysql-bin.000001, comme suit :

mysqlbinlog -no--defaults /data/mysql/mysql-bin.000001

D'après les étapes précédentes, nous savons qu'avant de supprimer les données, nous avons généré le fichier journal mysql-bin.000002, nous n'avons donc besoin que de restaurer à ce moment-là que j'ai trouvé dans l'image ci-dessus.

La commande est la suivante :


Copiez le code

Le code est le suivant :

mysqlbinlog –no-defaults – stop-datetime='2017-04-11 09:48:48'/data/mysql/mysql-bin.000001 |mysql –uroot –p123456



À ce Une fois que nous avons regardé l'arrière-plan, nous avons constaté que tout à l'heure, les trois articles supprimés ont tous été restaurés, atteignant ainsi l'objectif souhaité.

Résumé :

Cet article explique avec vous comment récupérer des données via le fichier journal binaire MySQL. Mais je tiens quand même à rappeler à tout le monde que vous devez sauvegarder les données de votre site Web en temps de paix. Certains des systèmes de création de sites Web CMS actuels ont des fonctions de sauvegarde de base de données intégrées, comme le système Chanzhi que j'utilise ici. Les données sont l'élément vital de celui-ci. le site Web. Faites un bon travail de sauvegarde des données pour éviter des problèmes ou des pertes inutiles.

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