Maison >base de données >tutoriel mysql >Comment restaurer les données MySQL via des fichiers journaux
Entrez la ligne de commande mysql et exécutez la commande suivante
mysql> show master status; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | binlog.000001 | 967 | | binlog.000002 | 965 | +------------------+-----------+
Généralement, le dernier numéro est plus grand, le dernier ci-dessus est binlog.000002
Il existe deux façons de déterminer la position de début et la position de fin, l'une consiste à utiliser l'heure comme début et fin, l'autre consiste à utiliser la position du journal comme la position de début et de fin
via mysqlbinlog Utilisez la commande mysql-bin.000002 pour afficher le contenu du journal, puis trouvez le point temporel de suppression :
# at 131708213 #210610 11:27:01 server id 1 end_log_pos 131708311 CRC32 0x0fc755e2 Table_map: `loongwind_base`.`xxxx` mapped to number 139 # at 131708311 #210610 11:27:01 server id 1 end_log_pos 131708411 CRC32 0xa91616b9 Write_rows: table id 139 flags: STMT_END_F BINLOG ' BffBYBMBAAAAYgAAAJe12QcAAIsAAAAAAAEADmR4bWhfYmFzZV9oenN5ABpkeF9zeV9hc3NldHNf ZXh0ZW5kc19jb3B5MQAICAgIDwgSCBIEAAgAAPgBAQACA/z/AOJVxw8= BffBYB4BAAAAZAAAAPu12QcAAIsAAAAAAAMAAgAI/wDRAwAAm1M8AUIAAADRUjwBCgAAAFYL5gAM AOWFrOWuieacuuWFs7EBAADbwZkAmama6E+xAQAA28GZAJmpmuhPuRYWqQ== '/*!*/;
Déterminez ensuite le point temporel du dernière sauvegarde. Si vous ne trouvez pas le moment de la dernière sauvegarde dans le journal, vous pouvez remplir un moment dont vous savez qu'il est plus petit que le précédent dans votre mémoire. Le moment de la sauvegarde
Utilisez la commande suivante pour afficher la position de l'événement de journal
mysql -uroot -p'password' -e "show binlog events in 'binlog.000002'"|grep -i 'DROP TABLE'
Les résultats de l'exécution sont les suivants :
binlog.000002 820474948 Requête 1 820475111 utiliser `loongwind_ base`; * généré par le serveur */ /* xid=11790691 */
C'est-à-dire que la position supprimée est 820474948
ou via la commande ci-dessus, remplacez le mot-clé pour trouver le point de position de la dernière sauvegarde
mysqlbinlog --no-defaults --database=loongwind_base --start-datetime="2021-06-07 09:00:00" --stop-datetime="2021-06-10 16:37:58" binlog.000005 | mysql -uroot -p'password' -s -N -f -D loongwind_base
mysqlbinlog --start-position=1178 --stop-position=2751 -d dxmh-sy binlog.000002|mysql -uroot -p'password' -s -N -f -D loongwind_base loongwind_base 为数据库名称
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!