Lorsque MySQL utilise le format de ligne et utilise la valeur par défaut binlog_row_image=full, l'image complète des données avant et après la mise à jour est enregistrée dans le binlog. Par conséquent, il est possible d'effectuer des opérations d'annulation basées sur le journal binaire au format de ligne. Cet article présente principalement l'exemple de MySQL utilisant l'opération d'annulation de binlog au format de ligne. J'espère qu'il sera utile à tout le monde.
[Page GitHub] [binaires Linux]
Par exemple
./binlog_undo -f /data/mysql/log-bin.000004 -p 3958 - o binlog.out
analysera toutes les transactions de la position 3958 à la fin de /data/mysql/log-bin.000004, inversera l'ordre de toutes les transactions et l'ordre des instructions dans chaque transaction, et inversera toutes les opérations WRITE. et DELETE sont inversés, les images avant et après UPDATE sont échangées, puis le fichier binlog généré est écrit dans binlog.out. Vous pouvez ensuite utiliser l'outil mysqlbinlog pour lire le binlog afin d'annuler l'opération.
Cet outil peut être utilisé pour annuler les opérations sur le maître d'origine qui ne sont pas synchronisées avec la sauvegarde après le basculement maître-esclave afin d'éviter une reconstruction complète ; il peut également être utilisé comme remède contre les erreurs d'opération.
Recommandations associées :
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!