web-dev-qa-db-fra.com

Comment restaurer les données du journal binaire

Comment restaurer mes fichiers et photos à partir de fichiers binaires?

11
Anto

Savez-vous à partir de quels fichiers binlog vous devez restaurer et combien de fichiers binlog il y a?

En utilisant l'utilitaire mysqlbinlog, nous pouvons afficher le contenu du fichier binlog.

S'il s'agit d'un seul fichier, vous pouvez le récupérer en utilisant:

mysqlbinlog /var/lib/mysql-bin.000016 | mysql –uroot –pReset123

S'il s'agit de plusieurs fichiers, il suffit d'extraire tout le contenu dans un fichier .sql et de le restaurer directement:

mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

Pour ajouter un deuxième contenu binlog au fichier allbinlof.sql, utilisez la commande ci-dessous:

mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql

Vous pouvez également exclure certaines déclarations en utilisant l'option de mysqlbinlog. Essayez ceci ci-dessous pour les options:

mysqlbinlog --help
7
Vinay

Utilisez les étapes ci-dessous pour restaurer des données à partir de journaux binaires ou utilisez ce lien pour comprendre le processus de restauration: Restauration du journal binaire MySQL

Tout d'abord, restaurez la base de données à partir de la dernière sauvegarde

mysql -u username -ppassword database_name < dump.sql

Ensuite, effectuez l'une des opérations suivantes:

  • Restaurez le reste des données du journal binaire.

    Si vous avez plusieurs journaux binaires à exécuter sur le serveur MySQL, la méthode sûre consiste à les traiter tous en utilisant une seule connexion au serveur.

    mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
    mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name
    

    ou:

    mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
    
  • Restaurer les données en fonction du temps

    mysqlbinlog --start-datetime="2005-04-20 10:01:00" \
                --stop-datetime="2005-04-20 9:59:59" mysql_bin.000001 \
                | mysql -u root -ppassword database_name
    
  • Restaurer les données en fonction de la position

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name
    
4
Saharsh Shah

Vous pouvez utiliser l'option - v pour créer un fichier .sql au format LISIBLE .

Par exemple

mysqlbinlog -v /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

mysqlbinlog -v /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
2
Ronak Vyas