Heim  >  Artikel  >  Datenbank  >  【MySQL 07】Datenbankwiederherstellungstechnologie

【MySQL 07】Datenbankwiederherstellungstechnologie

黄舟
黄舟Original
2017-02-04 11:58:551576Durchsuche

1. Vier Arten von Fehlern

Transaktionsfehler, Systemfehler, Medienfehler, Computervirus

1. Transaktionsinterne Fehler können in erwartete und unerwartete Fehler unterteilt werden Die meisten Fehler kommen unerwartet. Erwartete interne Transaktionsfehler beziehen sich auf interne Transaktionsfehler, die durch das Transaktionsprogramm selbst erkannt werden können. Unerwartete interne Transaktionsfehler können vom Transaktionsprogramm nicht verarbeitet werden, wie etwa Betriebsüberlauffehler, gleichzeitige Transaktions-Deadlock-Fehler und daraus resultierende Verletzungen bestimmter Integritätseinschränkungen bei Störungen usw.

2. Systemfehler wird auch als Soft-Fehler bezeichnet. Dies bezieht sich auf den Systemausfall aufgrund von Hardwarefehlern, Datenbanksoftware- und Betriebssystemschwachstellen sowie plötzlichen Stromausfällen während des Betriebs der Datenbank Art von Fehler, bei dem eine laufende Transaktion abnormal beendet wird und einen Systemneustart erfordert. Diese Art von Transaktion zerstört nicht die Datenbank, sondern wirkt sich auf alle laufenden Transaktionen aus.

3. Medienausfall wird auch als schwerer Ausfall bezeichnet. Er bezieht sich hauptsächlich auf die Tatsache, dass während des Betriebs der Datenbank eine Kopfkollision, eine Beschädigung der Festplatte, starke magnetische Störungen oder Naturkatastrophen auftreten Durch Katastrophen usw. werden die Daten in der Datenbank teilweise beschädigt oder es kommt zu einem Ausfall, bei dem alles verloren geht.

4. Computervirusfehler: Ein Computervirusfehler ist ein bösartiges Computerprogramm, das sich wie ein Virus vermehren und verbreiten kann, aber auch Schäden am Datenbanksystem verursachen kann Hauptsächlich Datenbankdateien).

2. Lösung

1. Erwarteter interner Transaktionsfehler: Setzen Sie die Transaktion zurück und machen Sie Änderungen an der Datenbank rückgängig.
2. Unerwarteter interner Transaktionsfehler: Erzwingen Sie ein Rollback der Transaktion und verwenden Sie Protokolldateien, um ihre Änderungen an der Datenbank rückgängig zu machen, während Sie gleichzeitig sicherstellen, dass die Transaktion keine Auswirkungen auf andere Transaktionen hat.
3. Systemfehler: Nach dem Neustart des Computers werden möglicherweise nicht abgeschlossene Transaktionen in die Datenbank geschrieben und die von allen nicht abgeschlossenen Transaktionen geschriebenen Ergebnisse werden möglicherweise teilweise oder vollständig im Puffer zurückgesetzt. Infolgedessen müssen alle festgeschriebenen Transaktionen erneut durchgeführt werden (d. h. alle nicht festgeschriebenen Transaktionen werden widerrufen und alle festgeschriebenen Transaktionen werden erneut durchgeführt).
4. Softwarefehlertoleranz bei Medienfehlern: Verwenden Sie Datenbanksicherungs- und Transaktionsprotokolldateien und verwenden Sie Wiederherstellungstechnologie, um die Datenbank in den Zustand am Ende der Sicherung wiederherzustellen.
5. Hardware-Fehlertoleranz bei Medienfehlern: Verwenden Sie zwei physische Speichergeräte, damit die beiden Festplatten den gleichen Inhalt speichern. Wenn eine der Festplatten ausfällt, wird die andere Backup-Festplatte rechtzeitig verwendet.
6. Computervirenfehler: Verwenden Sie eine Firewall-Software, um das Eindringen von Viren zu verhindern. Verwenden Sie eine Antivirensoftware, um sie zu scannen und abzutöten Verwenden Sie zu diesem Zeitpunkt die Datenbanksicherungsdatei, um die Fehlertoleranz der Software sicherzustellen. Methode zum Wiederherstellen von Datenbankdateien.

3. Technologie zur Datenwiederherstellung

Das Grundprinzip der Datenbankwiederherstellung ist Redundanz, d der Daten.

Es gibt zwei Hauptmethoden zum Erstellen redundanter Daten: Datendump (Sicherung) und Registrierungsprotokoll (Protokollierung).

【MySQL 07】Datenbankwiederherstellungstechnologie

1. Datendump

Der DBA kopiert regelmäßig die gesamte Datenbank oder einen Teil der Daten in der Datenbank auf andere Datenträger und speichert sie wird als Fallback-Kopie oder Fallback-Kopie bezeichnet.

Statischer Dump: Ein Dump-Vorgang, der ausgeführt wird, wenn im System keine Transaktionen ausgeführt werden. Während des Dump-Zeitraums sind keine Zugriffs- oder Änderungsaktivitäten auf die Datenbank zulässig.

Dynamischer Dump: Der Zugriff oder die Änderung der Datenbank ist während des Dumps zulässig, d. h. der Dump-Vorgang wird gleichzeitig mit der Benutzertransaktion ausgeführt.

Massendump: Jedes Mal die gesamte Datenbank sichern.

Inkrementeller Dump: Es werden jedes Mal nur die Daten ausgegeben, die nach dem letzten Dump aktualisiert wurden.

2. Registrierungsprotokoll

Das Registrierungsprotokoll ist das System, das automatisch Transaktionsaktualisierungsvorgänge in der Datenbank aufzeichnet. Das Protokoll wird normalerweise im stabilen Speicher aufgezeichnet.

Protokolldateien in Datensatzeinheiten:
Transaktionsidentifikation (geben Sie an, um welche Transaktion es sich handelt), Operationstyp (Einfügen, Löschen oder Ändern), Operationsobjekt (interne Identifikation aufzeichnen), alter Datenwert vor der Aktualisierung , der neue Wert der aktualisierten Daten

Protokolldatei in Einheiten von Datenblöcken:
Transaktionsidentifikation, aktualisierter Datenblock

Grundsätze für die Registrierung von Protokolldateien:
(1) Die Reihenfolge der Registrierung richtet sich streng nach der zeitlichen Abfolge paralleler Transaktionen
(2) Zuerst muss die Protokolldatei geschrieben werden, dann die Datenbank

3. Checkpoint

Das Obige ist der Inhalt der Datenbankwiederherstellungstechnologie [MySQL 07] Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
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