1 Aktuellen Datenbankinhalt einsehen und Datenbank sichernDatenbankinformationen anzeigen: Sichern Sie die Datenbank: [root@localhost ~]# mysqldump -u root -pt > /mnt/t.sql Passwort eingeben: [root@localhost ~]# ll /mnt/t.sql -rw-r--r-- 1 root root 1771 25. August 11:56 /mnt/t.sql 2 Aktivieren Sie die bin_log-FunktionÜberprüfen Sie zunächst, ob die Funktion bin_log in der Datenbank aktiviert ist mysql> Variablen wie "%log_bin%" anzeigen; Sie müssen die MySQL-Konfigurationsdatei my.cnf in /etc/ ändern und eine Zeile log_bin = mysql_bin hinzufügen 3 Fehlbedienung simulieren (3 Daten einfügen, Datenbank löschen)mysql> in t1-Werte einfügen (3); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> in t1-Werte einfügen (4); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> in t1-Werte einfügen (5); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> wähle * aus t1; +------+ |Ich würde| +------+ | 1 | | 2 | | 5 | | 4 | | 3 | +------+ 5 Zeilen im Satz (0,00 Sek.) mysql> Protokolle leeren; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> Masterstatus anzeigen; +------------------+----------+--------------+------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql_bin.000003 | 106 | | | +------------------+----------+--------------+------------------+ 1 Zeile im Satz (0,00 Sek.) Löschung von Daten: mysql> t1 abschneiden; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> wähle * aus t1; Leerer Satz (0,00 Sek.) Zu diesem Zeitpunkt wird die Datenbank plötzlich beschädigt oder manuell gelöscht mysql> Tabelle t1 löschen; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> Tabellen anzeigen; Leerer Satz (0,00 Sek.) 4 Datenrettung1 Verwenden Sie die gesicherte Datei /mnt/t.sql zur Wiederherstellung der Daten mysql> Quelle /mnt/t.sql; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 2 Zeilen betroffen (0,00 Sek.) Datensätze: 2 Duplikate: 0 Warnungen: 0 Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> Tabellen anzeigen; +-------------+ | Tabellen_in_t | +-------------+ | t1 | +-------------+ 1 Zeile im Satz (0,00 Sek.) mysql> wähle * aus t1; +------+ |Ich würde| +------+ | 1 | | 2 | +------+ 2 Zeilen im Satz (0,00 Sek.) 2 Es sind noch drei Daten vorhanden, die nicht wiederhergestellt wurden. Was soll ich tun? Kann nur mit Binärprotokoll wiederhergestellt werden [root@localhost ~]# mysqlbinlog --no-defaults /var/lib/mysql/mysql_bin.000002 | mysql -u root -p123.com t mysql> verwende t; Einlesen von Tabelleninformationen zur Vervollständigung von Tabellen- und Spaltennamen Sie können diese Funktion deaktivieren, um einen schnelleren Start mit -A zu erhalten Datenbank geändert mysql> wähle * aus t1; +------+ |Ich würde| +------+ | 1 | | 2 | | 3 | | 4 | | 5 | +------+ 5 Zeilen im Satz (0,00 Sek.) MySQL> 5 FazitSichern Ihrer Daten mysqldump -uroot -p123456 test -l -F '/tmp/test.sql' -l: Lesesperre (kann nur lesen, kann nicht aktualisieren) -F: Protokolle leeren, wodurch neue Protokolldateien, einschließlich Log-Bin-Protokolle, neu generiert werden können Binlog-Protokoll anzeigen mysql>Masterstatus anzeigen; Daten vor dem Import sichern mysql -uroot -pt -v -f </mnt/t.sql -v zeigt detaillierte Informationen zum Import an -f bedeutet, dass Sie einen Fehler in der Mitte überspringen und mit der Ausführung der folgenden Anweisung fortfahren können Binärprotokolldatei „binlog-file“ wiederherstellen mysqlbinlog --no-defaults binlog-file | mysql -uroot -pt Ab einem bestimmten Punkt erholen (367) mysqlbinlog --no-defaults --stop-position="367" mysql-bin.000001| mysql -uroot -pt Prüfen Sie zuerst diesen Punkt, verwenden Sie mehr zur Überprüfung [root@localhost mysql]# /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002 --start-position="794" --stop-position="1055" | mehr Dann wiederherstellen [root@localhost mysql]# /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002 --start-position="794" --stop-position="1055" | /usr/bin/mysql -uroot -pt Binlog zurücksetzen mysql> Master zurücksetzen; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) mysql> Masterstatus anzeigen; +------------------+----------+--------------+------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 106 | | | +------------------+----------+--------------+------------------+ mysql> flush logs;#Schließen Sie die aktuelle Binärprotokolldatei und erstellen Sie eine neue. Der Name der neuen Binärprotokolldatei ist die Nummer der aktuellen Binärdatei plus 1. Dies ist das Ende dieses Artikels zur Verwendung von MySQL-Binlog zum Wiederherstellen versehentlich gelöschter Datenbanken. Weitere Informationen zur Wiederherstellung versehentlich gelöschter Datenbanken mit MySQL-Binlog finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Detaillierte Erklärung des HTML-Tags <input> und wie man es deaktiviert
Inhaltsverzeichnis Transaktionsisolationsebene Be...
Inhaltsverzeichnis 1. Grundlegende Verwendung 2. ...
Wenn der vorhandene Videoplayer die Anforderungen...
Inhaltsverzeichnis 1. Mutex 1. Initialisierung de...
Um zwei verschiedene Tabellen abzufragen, müssen ...
Phänomen Starten Sie den Docker-Container docker ...
Geben Sie ein Shell-Skript unter Linux frei, um d...
Inhaltsverzeichnis Phänomen: Portnutzung: Rechtsc...
Zum Beispiel: Code kopieren Der Code lautet wie fo...
Vorwort Wenn Bildlaufereignisse wie Scrollen und ...
Hintergrund: Machen Sie jeden Tag ein wenig Forts...
Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ab...
Problembeschreibung Folgende Ergebnisse möchte ic...
Vorwort Ich habe gerade einen neuen VPS gekauft. ...
In diesem Artikel wird der spezifische Code der I...