Comment restaurer mes fichiers et photos à partir de fichiers binaires?
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
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
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