So stellen Sie MySQL-Daten über Protokolldateien wieder her

王林
Freigeben: 2023-05-26 15:49:06
nach vorne
3385 Leute haben es durchsucht

    1. Suchen Sie die neueste Binlog-Datei. Geben Sie die MySQL-Befehlszeile ein und führen Sie den folgenden Befehl aus Ich möchte die Start- und Endpositionen in der Protokolldatei wiederherstellen

    Es gibt zwei Möglichkeiten, die Start- und Endposition zu bestimmen: Eine besteht darin, die Zeit als Start und Ende zu verwenden, die andere darin, die Position des Protokolls als zu verwenden die Start- und Endposition

    2.1, verwenden Sie den Zeitbereich

    bis mysqlbinlog Verwenden Sie den Befehl mysql-bin.000002, um den Protokollinhalt anzuzeigen, und suchen Sie dann den Zeitpunkt des Löschens:

    mysql> show master status; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | binlog.000001 | 967 | | binlog.000002 | 965 | +------------------+-----------+
    Nach dem Login kopieren

    Bestimmen Sie dann den Zeitpunkt des letzte Sicherung. Wenn Sie den Zeitpunkt der letzten Sicherung nicht im Protokoll finden können, können Sie einen Zeitpunkt eingeben, von dem Sie wissen, dass er kleiner als der vorherige in Ihrem Speicher ist. Den Zeitpunkt der Sicherung verwenden Sie Positionsbereich: Verwenden Sie den folgenden Befehl, um die Position des Protokollereignisses anzuzeigen. * vom Server generiert */ /* xid=11790691 */

    Das heißt, die gelöschte Position ist 820474948

    oder ersetzen Sie mit dem obigen Befehl das Schlüsselwort, um den Positionspunkt der letzten Sicherung zu finden

    3

    3.1 Wiederherstellung nach Zeit

    # 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== '/*!*/;
    Nach dem Login kopieren

    wobei dxmh_base_hzsy der Datenbankname ist

    3.2 Wiederherstellung nach Position

    mysql -uroot -p'password' -e "show binlog events in 'binlog.000002'"|grep -i 'DROP TABLE'
    Nach dem Login kopieren
    Wenn Sie die Startzeit oder Startposition wirklich nicht finden können, müssen Sie nicht --start-datetime oder schreiben --start-position, also verwenden Sie dies Die Protokolldatei wird vom Anfang bis zum Ende wiederhergestellt. Um Konflikte mit vorhandenen Daten zu vermeiden, müssen Sie -f hinzufügen, dh erzwingen, Fehler zu überspringen und die Ausführung fortzusetzen.

    Das obige ist der detaillierte Inhalt vonSo stellen Sie MySQL-Daten über Protokolldateien wieder her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:yisu.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!