Der versehentliche Datenbankadministrator: Sichern Ihrer MySQL-Datenbank - Wie Man

Der versehentliche Datenbankadministrator: Sichern Ihrer MySQL-Datenbank

Daher sind Sie jetzt neben Ihren anderen Aufgaben für die Sicherung einer MySQL-Datenbank verantwortlich. Keine Angst, wir sind hier, um Ihnen einen schnellen Überblick über MySQL und die Verwendung des Tools mysqldump zum Sichern Ihrer Datenbank zu geben.

9 Schritte insgesamt

Schritt 1: Was ist MySQL?

MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem, das auf nahezu allen Plattformen läuft, einschließlich Windows, Linux und UNIX. Es ist ein Favorit bei webbasierten Anwendungen und ist Teil des Open-Source-Stacks namens LAMP. LAMP steht für seine verschiedenen Bestandteile: Linux-Betriebssystem, Apache-Webserver, MySQL-Datenbank und PHP-Scripting. Oracle hat MySQL im Jahr 2008 erworben, es ist jedoch immer noch kostenlos unter der GNU General Public License verfügbar.

Schritt 2: Was ist der Unterschied zwischen einer Datenbanksicherung und einer Dateisicherung?

Wenn Sie ein Dateisystem sichern, ermitteln Sie im Grunde nur die Dateien, die Sie kopieren möchten, und sichern diese. Wenn Sie eine MySQL-Datenbank mit dem nativen Tool sichern, werden Ihre Daten nicht im herkömmlichen Sinne gesichert. Stattdessen erzeugt das Dienstprogramm eine Reihe von Befehlen CREATE TABLE und INSERT INTO, die Sie auf Ihrem MySQL-Server ausführen können, um die Datenbank neu zu erstellen.

Schritt 3: Was Sie zum Erstellen Ihrer Sicherung verwenden müssen

Das mysqldump-Tool ist in MySQL enthalten, um Ihre Daten zu sichern. Es erstellt eine logische Sicherung der Daten, dh die Sicherung enthält die logische Datenbankstruktur und den Inhalt. Es ist ziemlich einfach für uns, einfache Textdateien zu erstellen, die DROP / CREATE / INSERT-SQL-Anweisungen enthalten. Um die Datenbank, die Tabellen und die Daten neu zu erstellen, geben Sie die Sicherung auf der MySQL-Zielinstanz wieder. Sie können auch Dumps im CSV- und XML-Format erstellen, wobei SQL am häufigsten ist.

Eine physische Sicherung enthält unformatierte Kopien der Verzeichnisse und Dateien, in denen der Inhalt Ihrer Datenbank gespeichert ist. Physische Sicherungen eignen sich gut für große Datenbanken, die schnell wiederhergestellt werden müssen, falls etwas Schlimmes passiert. Die kostenlose Version von MySQL bietet keine Tools für physische Sicherungen. Wenn Sie das Glück haben, MySQL Enterprise Edition zu verwenden, können Sie damit physische Sicherungen Ihrer Datenbank erstellen. Es enthält Funktionen für inkrementelle und komprimierte Sicherungen. Der Vorteil dieses Tools gegenüber dem kostenlosen mysqldump ist, dass Wiederherstellungen viel schneller ausgeführt werden als das Wiederherstellen der Speicherauszugsdatei.

Sie können jedoch auch physische Backups mit kostenlosen Tools von Drittanbietern erstellen. Diese Optionen sind besonders interessant, wenn Ihre Datenbank groß ist oder wenn Ihre Konfiguration Komplexitäten wie die Replikation enthält. Das mysqldump-Tool eignet sich hervorragend für kleine Datenbanken. Es kann jedoch heftige Schmerzen im Hals verursachen, wenn Sie über eine große Datenbank verfügen, die, wie der Himmel hilft, wiederhergestellt werden muss. Ein bekanntes Werkzeug ist phpMyAdmin, ein in PHP geschriebenes Werkzeug, das die MySQL-Administration über das Internet verwaltet.

Schritt 4: Online- oder Offline-Sicherungen

Online-Sicherungen finden statt, während der MySQL-Server ausgeführt wird und Benutzer weiterhin auf die Datenbank zugreifen. Diese Arten von Sicherungen werden auch als "heiße" Sicherungen bezeichnet. Online-Backups wirken sich weniger störend auf die Benutzer aus. Es besteht jedoch die Gefahr, dass die Integrität des Backups beeinträchtigt wird, wenn die Daten nicht gesperrt sind.

Eine Offline-Sicherung findet statt, wenn der Server angehalten wird. Diese Sicherungen werden auch als "kalte" Sicherungen bezeichnet. Offline-Sicherungen können Ihre Benutzer stören, da sie Ausfallzeiten verursachen, wenn Sie keine Daten von einem Replikations-Slave-Server sichern. Die Daten sind jedoch konsistent, da Sie während des Sicherungsvorgangs kein Risiko eingehen.

Schritt 5: Entwerfen einer Sicherungsrichtlinie

Bevor Sie mit dem Sichern Ihrer Daten beginnen, benötigen Sie einen Plan. Finden Sie heraus, wie viele Daten Sie haben, wie häufig sich diese ändern und wie wichtig es für Ihr Unternehmen ist. Wenn Sie bestimmt haben, wie oft Sie Ihre Daten sichern müssen, müssen Sie einen regelmäßigen Zeitplan erstellen. Die Art des Tools zum Ausführen Ihrer Sicherungen wird durch diese Entscheidungen bestimmt.

Mit MySQL Community Edition können Sie beispielsweise Sicherungen durchführen, aber nur die Enterprise Edition bietet eine Hot-Online-Sicherung (Online-Sicherung). Tools von Drittanbietern ermöglichen es Ihnen, Daten auch dann zu sichern, wenn Ihre Datenbank noch verwendet wird.

Schritt 6: Verwenden von mysqldump

Sie führen das mysqldump-Tool wie folgt aus der Befehlszeile aus:

$ mysqldump –opt –u Benutzername –p Kennwort Datenbankname> Sicherungsdatei.sql

Das Argument –-opt ist eine Gruppenoption, die den Sicherungsvorgang beschleunigt. Es funktioniert wie eine Abkürzung und erstellt einen komplexeren Satz von Dump-Befehlen, die die folgenden Optionen enthalten: -add-drop-table, -add-locks, -create-options, -quick, -extended-insert, -lock- Tabellen, -set-charset und -disable-keys. Diese Option ist standardmäßig aktiviert und kann durch Angabe von -skip-opt deaktiviert werden.

Das Tool mysqldump sichert zwar nicht alle Dateien physisch, sichert jedoch Ansichten, da Ansichten und Tabellen nicht unterschieden werden. Was ist eine Ansicht, fragen Sie? Eine Ansicht ist eine virtuelle Tabelle, die Zeilen und Spalten enthält, genau wie eine echte Tabelle. Es enthält die Ergebnisse einer SQL-Anweisung und repräsentiert Felder aus einer oder mehreren realen Datenbanken.

Sie können eine Liste aller Ansichten Ihrer Datenbank abrufen, indem Sie eine Abfrage wie folgt ausführen:

VOLLSTÄNDIGE TABELLEN ANZEIGEN WHERE table_type = ’view"

Schritt 7: Komprimieren Ihres mysqldump-Backups

Sie können die Ausgabe des Befehls mysqldump komprimieren, indem Sie die Ausgabe wie folgt in eine gzip-Datei leiten:

$ mysqldump –u root –p Kennwort SalesDatabase | gzip -9> (SalesDatabaseBackup.sql.gz)

Sie würden dann die Ausgabe mit dem Befehl gunzip extrahieren.

Schritt 8: Wiederherstellen Ihrer Sicherung

Nachdem Sie ein Backup erfolgreich erstellt haben, sollten Sie sicherstellen, dass Sie die Datenbank und Ihre Tabellen neu erstellen können. Das ist nicht so schrecklich wie es klingt. Verwenden Sie die MySQL-Konsolenanwendung und übergeben Sie einige Argumente wie folgt:

mysql [test_database] <[SalesDatabaseBackup.sql.dump]

Im obigen Beispiel verwende ich die Dump-Datei, die wir in einem vorherigen Schritt erstellt haben, und stelle sie in einer Testdatenbank wieder her.

Schritt 9: Tipps

• Wenn Sie Ihre Datenbank aus einer mysqldump-Datei wiederherstellen müssen, können Sie den Vorgang beschleunigen, indem Sie die von MySQL durchgeführten Prüfungen deaktivieren, um die Integrität Ihrer Daten sicherzustellen. Stellen Sie sicher, dass sie nach der Wiederherstellung wieder eingeschaltet werden.

• Sparen Sie Speicherplatz, indem Sie automatisch alte Dumps löschen. Nur Sie können bestimmen, was alt genug ist, um nicht mehr von Nutzen zu sein.

• Sie können in Betracht ziehen, einige Shell-Verknüpfungen oder Skripts für gängige Verfahren zu erstellen, um Ihr Leben zu vereinfachen. Diese Verknüpfungen können die Anzahl der verfluchten Flüche pro Minute drastisch reduzieren. Wenn Sie einen Vorsprung in Sachen Skripte haben möchten, schauen Sie in unserem Skriptcenter nach Ideen.