Auswahl und Überlegungen zur MySQL-Datensicherungsmethode

Auswahl und Überlegungen zur MySQL-Datensicherungsmethode

Ich arbeite seit mehr als zwei Jahren in der DBA-Branche. Ich habe einige Erfahrungen in der Datensicherung sowohl in der Theorie als auch in der Praxis gesammelt. In den letzten zwei Tagen sind jedoch einige Probleme bei der Datensicherung aufgetreten. Hier werde ich kurz die Datensicherungsmethoden zusammenfassen, mit denen ich zuvor in Berührung gekommen bin.

Wir alle wissen, dass die Gewährleistung eines stabilen, sicheren und effizienten Betriebs der Datenbank in der Verantwortung des DBA liegt. Für Datenbankadministratoren kann die Datensicherung ein entscheidender Faktor bei der Datensicherheit sein.

Ich habe einmal einen Fall erlebt, in dem ein Geschäftspartner versehentlich Daten gelöscht hat, was zu einem Ausfall führte. Er bat den DBA, die Daten wiederherzustellen, stellte jedoch fest, dass die Daten für diesen Tag nicht gesichert worden waren. Die Situation war sehr peinlich. Ursprünglich wurde der Ausfall vom Unternehmen verursacht, aber da es keine Datensicherung gab, wurden am Ende sowohl das Unternehmen als auch der DBA dafür verantwortlich gemacht. Wenn das Unternehmen nicht verlangt, dass der DBA die Daten wiederherstellt, kann der DBA die Daten später in aller Ruhe sichern und so vermeiden, dass er letztlich involviert wird. In der Produktionsumgebung gibt es natürlich keine Wenns.

Die Wichtigkeit von Backups ist offensichtlich. Was sind also einige gängige Backup-Ideen? Je nachdem, ob das Backup die Online-Umgebung beeinflusst, kann es grob in zwei Methoden unterteilt werden: Cold Backup und Hot Backup. Cold Backup kann als eine Methode verstanden werden, die das Online-Geschäft beeinflusst und eine Offline-Sicherung erfordert, während Hot Backup keine oder nur eine relativ geringe Auswirkung auf das Online-Geschäft hat.

Ich habe die folgenden Methoden zusammengefasst:

1. rsync, cp Dateien kopieren

Diese Methode ist gewalttätiger. Sie besteht darin, die MySQL-Datenbank direkt zu stoppen und dann Linux-Befehle zum physischen Kopieren von Dateien wie cp und rsync zu verwenden, um die Daten zu sichern.

In:

cp bezieht sich speziell auf das Sichern in andere Verzeichnisse auf dem aktuellen Server

Rsync bezieht sich speziell auf die Sicherung auf anderen Servern

Bei dieser Methode sind folgende Punkte zu beachten:

a. Für Online-Umgebungen ist die rsync-Methode besser geeignet, da bei einem Serverausfall auch die Sicherung mit der cp-Methode nicht verfügbar ist.

b. Sowohl die rsync- als auch die cp-Methode müssen auf der Slave-Datenbank der Master-Slave-Architektur oder auf einer angegebenen Backup-Datenbank ausgeführt werden. (Hier empfehle ich die Verwendung einer Replikationsarchitektur mit einem Master, einem Slave und einem Backup für die Online-Umgebung.)

Die größten Vorteile des Cold Backup sind die hohe Geschwindigkeit und die einfache Bedienung.

Geeignet für die tägliche Sicherung großer Datenbanken.

2. select xxx into outfile-Syntax

Diese Methode wird zwar oft nicht als Backup bezeichnet, da dabei nur die Daten einer Tabelle gesichert werden, sie ist aber sehr nützlich.

Stellen Sie sich ein Szenario vor, in dem Sie von der Geschäftsseite aufgefordert werden, Hunderte von Datenelementen zu aktualisieren, die Tabelle jedoch zig Millionen Datenelemente enthält. Wenn Sie zu diesem Zeitpunkt die gesamte Tabelle sichern, ist dies weniger flexibel und dauert lange. Wenn wir die zu ändernden Daten mithilfe der Auswahlsyntax zunächst in einer TXT-Datei speichern, können wir, selbst wenn das Geschäftsfeedback nach dem Update nicht den Erwartungen entspricht, schnell das Erscheinungsbild vor dem Update finden, was Ihre Datenwiederherstellungszeit erheblich verkürzen kann.

Diese Sicherungsmethode eignet sich dazu, einen Teil der Daten einer einzelnen Tabelle zu sichern, bevor diese geändert werden.

3. Verzögerter Sklave

In MySQL ist diese Art von Backup-Lösung relativ selten, in MongoDB sind verzögerte Slaves jedoch sehr verbreitet. Allerdings stellt der verzögerte Slave ein besseres Mittel zur Online-Sicherung dar und sein wichtigstes Merkmal ist die hohe Möglichkeit einer Wiederherstellung.

Manchmal können die Daten, die Sie mit so viel Mühe gesichert haben, aufgrund verschiedener Abhängigkeiten oder Versionsprobleme nicht auf anderen Servern wiederhergestellt werden. Das ist ziemlich peinlich, und die verzögerte Slave-Bibliothek kann dieses Problem sehr gut lösen, da die Slave-Bibliothek selbst ausgeführt wird, sodass Sie sich keine Sorgen machen müssen, dass die Bibliothek nicht gestartet werden kann.

Im verzögerten Slave-Sicherungsplan muss die Verzögerungszeit des Slaves kontrolliert werden. Wenn sie zu kurz eingestellt ist, kann es sein, dass SQL, das auf dem Master Probleme verursachen könnte, auf dem Slave ausgeführt wurde, und der Verzögerungseffekt wird nicht erreicht, und der verzögerte Slave verliert seine Bedeutung.

4. Logisches Backup mysqldump

Dies ist möglicherweise die gängigste Methode zum Sichern von MySQL. Das offizielle Sicherungstool mysqldump kann Ihnen zu einem bestimmten Zeitpunkt einen konsistenten Snapshot bereitstellen. Sie können den aktuellen Zeitpunkt und den Speicherort des Binlogs, an dem die MySQL-Datenbank ausgeführt wurde, klar erkennen und die Wiederherstellungsgenauigkeit ist sehr hoch. Darüber hinaus unterstützt es die Sicherung angegebener Bibliotheken und Tabellen usw. und seine Funktionen sind sehr leistungsstark.

Es eignet sich für Datenbanksicherungen mit einem Datenvolumen unter 50 G. Wenn es 50 G überschreitet, ist die Wiederherstellung sehr langsam.

Mehr muss man dazu nicht sagen, das ist jedem bekannt.

Denken Sie daran, --single-transaction hinzuzufügen, da sonst die Tabelle möglicherweise gesperrt wird und das Geschäft möglicherweise nicht geschrieben wird. Ein kleiner Bruder ist einmal hierher gefallen.

Seine Funktion besteht darin, dass es Ihnen zu einem bestimmten Zeitpunkt einen Datenbank-Snapshot erstellen kann und die Sicherungsdatei im Allgemeinen klein ist.

5. xtrabackup-Sicherung

Dies ist eine weitere Hot-Backup-Methode. Die Backup-Methode xtrabackup kann ein Hot-Backup der Datenbank durchführen, ohne die Datenbankschreibvorgänge zu beeinträchtigen. Im Wesentlichen handelt es sich immer noch um eine physische Dateikopie, die schneller ist als mysqldump.

Wenn der Lese- und Schreibdruck auf der Hauptdatenbank relativ gering ist, können Sie direkt auf der Hauptdatenbank sichern. Es wird jedoch trotzdem empfohlen, es nicht auf der Master-Datenbank zu verwenden, da es Fälle gab, in denen die Online-Master-Datenbank einem starken Schreibdruck ausgesetzt war und xtrabackup direkt zum Absturz der Sicherung der Master-Datenbank führte. Es ist eine relativ sicherere Methode, xtrabackup auf der Slave-Datenbank auszuführen, ohne die Datenbank anzuhalten.

Seine Merkmale sind eine schnelle Sicherungsgeschwindigkeit und eine relativ geringe Auswirkung auf die Online-Sicherung.

6. Binlog-Sicherung

Die Binlog-Sicherung ist im Wesentlichen eine Sicherung von SQL-Anweisungen, ähnlich den Ergebnissen von mysqldump, aber Binlog behält mehr Daten als mysqldump.

Wenn Sie über alle Binärprotokolle dieser Datenbank seit ihrem Start verfügen, können Sie diese Datenbank zweifellos wiederherstellen. Allerdings müssen alle Binärprotokolle eine relativ große Datenmenge enthalten und es ist im Allgemeinen schwierig, das vollständige Protokoll aufzubewahren. Daher muss die Binärprotokollsicherung im Allgemeinen mit einer Snapshot-Sicherung kombiniert werden.

Wir können die Replikationsbeziehung stoppen, wenn eine Slave-Bibliothek online ist, dann das Protokoll leeren, um ein neues Binlog zu generieren, es als binlog0 aufzeichnen und dann das vollständige Backup der Slave-Bibliothek kopieren und dann alle Binlogs nach binlog0 speichern. Auf diese Weise können wir die vollständige Backup- + Binlog-Methode der Slave-Bibliothek verwenden, um die Daten der Slave-Bibliothek wiederherzustellen.

Die Binlog-Sicherung eignet sich für Datenbanken mit durchschnittlicher Binlog-Schreibgeschwindigkeit. Wenn das Binlog Ihrer Datenbank sehr schnell aktualisiert wird, kann die Datenkapazität zum Engpass werden.

7. Plugin klonen

Das Klon-Plugin ist ein Highlight von 8.0. Es unterstützt sowohl lokale Datensicherungen als auch den schnellen Remote-Aufruf eines Datenbank-Slaves. Es ist eine Sicherungsmethode, die es wert ist, untersucht zu werden. Dies wurde in früheren Artikeln ausführlich behandelt. Sie können diese bei Interesse nachlesen. Sie können auch die offizielle Dokumentation zu Rate ziehen.

Derzeit wird es jedoch in Online-Umgebungen kaum verwendet, da die meisten inländischen Datenbanken derzeit MySQL Version 5.7 verwenden. Natürlich liegt der Trend bei 8.0. Wenn Sie also noch kein Upgrade durchgeführt haben, führen Sie das Upgrade so bald wie möglich durch.

Oben finden Sie Einzelheiten zur Auswahl der MySQL-Datensicherungsmethode. Weitere Informationen zur MySQL-Datensicherung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Hinweise zum MySQL-Datenbank-Sicherungsprozess
  • Shell-Skript zum regelmäßigen Sichern und Aufbewahren von MySQL-Datenbankdaten für einen bestimmten Zeitraum
  • Geplantes Teilen von Skripten für MySQL-Datenbanksicherungen
  • So implementieren Sie eine geplante Sicherung der CentOS MySQL-Datenbank
  • Implementierungscode für die Sicherung und Wiederherstellung von MySQL-Datenbanken
  • Einführung in die MySQL-Datenbank: Detaillierte Erläuterung des Datenbanksicherungsvorgangs
  • Analyse der Implementierungsmethoden für MySQL-Datensicherung und -Wiederherstellung
  • Beispiel für eine geplante MySQL-Datenbanksicherung
  • Zusammenfassung verschiedener Implementierungsmethoden zur Sicherung von MySQL-Datenbanken
  • Linux implementiert geplante Sicherungen der MySQL-Datenbank und löscht Sicherungsdateien, die älter als 30 Tage sind
  • Linux sichert regelmäßig die MySQL-Datenbank und löscht vorherige Sicherungsdateien (empfohlen)
  • Codebeispiele für die Sicherung mehrerer MySQL-Datenbanken

<<:  Eine kurze Diskussion über die integrierten Traversierungsmethoden von JS-Arrays und ihre Unterschiede

>>:  Untersuchung des Problems der Flip-Navigation mit geneigter Maus

Artikel empfehlen

SQL GROUP BY ausführliche Erklärung und einfaches Beispiel

Die GROUP BY-Anweisung wird in Verbindung mit der...

Dinge, die Sie nicht über die CSS-Pseudoelemente ::before und ::after wissen

CSS hat zwei Pseudoklassen, die nicht häufig verw...

Öffentliche kostenlose STUN-Server

Öffentliche kostenlose STUN-Server Wenn das SIP-T...

PostgreSQL-Materialisierte Ansichtsprozessanalyse

Dieser Artikel stellt hauptsächlich die Prozessan...

Lösen Sie das Problem, dass Docker das MySQL-Image zu langsam zieht

Nachdem wir eine halbe Stunde lang versucht hatte...

Einführung des Code-Prüftools stylelint zum Erfahrungsaustausch

Inhaltsverzeichnis Vorwort Text 1. Installieren S...

Lösen Sie das Problem des MySQL Threads_running-Surge und der langsamen Abfrage

Inhaltsverzeichnis Hintergrund Problembeschreibun...

Layui implementiert den Bestätigungscode der Anmeldeschnittstelle

In diesem Artikelbeispiel wird der spezifische Co...

Fünf Richtlinien zum Schreiben von wartungsfreundlichem CSS-Code

1. Fügen Sie am Anfang des Stylesheets einen Komme...

Tipps zum MySQL-Abfragecache

Inhaltsverzeichnis Vorwort Einführung in QueryCac...

CSS3 realisiert den roten Umschlag-Shaking-Effekt

Es besteht die Anforderung, den Schütteleffekt de...