Maison  >  Article  >  base de données  >  Explication détaillée de la façon de restaurer les données de la base de données via le journal binaire Mysql (image et texte)

Explication détaillée de la façon de restaurer les données de la base de données via le journal binaire Mysql (image et texte)

黄舟
黄舟original
2017-04-18 09:20:561155parcourir

Cet article présente principalement en détail comment restaurer les données de la base de données via le journal binaire de Mysql. 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

4. 5. Analyse du contenu du journal binlog ; 6. Récupérer les données spécifiées

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

Pour use Mysql, vous devez d'abord activer cette fonction dans le fichier de configuration Mysql

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 divers environnements Mysql où j'ai

installé, 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 :

Remarque : Parce que mon mysqlbinlog local ne peut pas reconnaître le caractère par défaut-

set

=utf8 dans la configuration du binlog, donc ici, cela ne fonctionne qu'après avoir ajouté "-no-defaults" à la commande, et tout le monde peut en tirer des leçons.

 mysqlbinlog /data/mysql/mysql-bin.000002

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 mysqlbinlog help, comme suit :

Comme indiqué dans l'aide document, vous pouvez récupérer des données en spécifiant l'heure ou le lieu. Ici, je vais vous démontrer en utilisant l'heure spécifiée comme exemple.
mysqlbinlog –no-defaults –help

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


Par le biais du précédent Étapes des opérations 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.
mysqlbinlog -no--defaults /data/mysql/mysql-bin.000001

La commande est la suivante :

复制代码 代码如下:

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

这时我们在看后台,发现刚才删除的三篇文章都已恢复回来了,从而到达我们期望的目的。

 总结:

本文和大家分享了如何通过mysql的二进制日志文件恢复数据。但还是要提醒大家,在平时要做好网站数据备份,现在的一些主流CMS建站系统都会内置数据库备份功能,比如这里我用的蝉知系统,数据是网站的命脉,做好数据备份以避免后期不必要的麻烦或损失。

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