Bearbeiten von „Datenbanken-Backup

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
 
__TOC__
 
__TOC__
Ein Backup von Datenbanken sollte nicht bei laufender Datenbank erfolgen (Gefahr von Inkonsistenz bei der Wiederherstellung), es muss also wenigstens der schreibende Zugriff gesperrt werden. Wenn möglich ist es jedoch besser, die Datenbank für den Zeitraum des Backups/der Wiederherstellung ganz zu sperren. Allerdings ist es beim physischen Backup möglich, durch das Zurückspielen der Logdateien wieder einen konsistenten Zustand zu erreichen, was allerdings meist einen grösseren Zeitverbrauch und eine höhere Datenbanklast verursacht.
+
Ein Backup von Datenbanken sollte nicht bei laufender Datenbank erfolgen (Gefahr von Inkonsistenz bei der Wiederherstellung), es sollte also wenigstens der schreibende Zugriff gesperrt werden, wenn möglich ist es jedoch besser, die Datenbank für den Zeitraum des Backups / der Wiederherstellung ganz zu sperren. Allerdings ist es beim physischen Backup möglich, durch das Zurückspielen der Logdateien wieder einen konsistenten Zustand zu erreichen, was allerdings meist einen grösseren Zeitverbrauch und eine höhere Datenbanklast verursacht.
   
Man sollte sich auch davon überzeugen, ob vorhandene Konfigurationsdateien mit gesichert wurden, was manchmal vergessen wird. Für diese Konfigurationsdateien kann man dann auf herkömmliche [[Backup|Backupwerkzeuge]] zurückgreifen oder eventuell sogar Versionierungstools wie git, Subversion o.ä. benutzen. Auf jeden Fall sollte man auch die Wiederherstellung wenigstens einmal durchspielen, um zu sehen, ob auch tatsächlich alles wie gewünscht funktioniert. Das beste Backup nützt nichts, wenn man es im Ernstfall nicht wieder herstellen kann, aber das gilt generell für alle Arten von Backups.
+
Man sollte sich auch davon überzeugen, ob Konfigurationsdateien mit gesichert wurden, was oftmals nicht der Fall ist. Für diese Konfigurationsdateien kann man dann auf herkömmliche [[Backup|Backupwerkzeuge]] zurückgreifen oder eventuell sogar Versionierungstools wie git, Subversion o.ä. einsetzen. Auf jeden Fall sollte man auch die Wiederherstellung wenigstens einmal durchspielen, um zu sehen, ob auch tatsächlich alles wie gewünscht funktioniert. Das beste Backup nützt nichts, wenn man es im Ernstfall nicht wieder herstellen kann, aber das gilt generell für alle Arten von Backups.
   
 
Beim Backup von Datenbanken unterscheidet man (wie allgemein beim Backup) zwei mögliche Verfahren, das logische Backup und das physische Backup. Beide Verfahren können natürlich auch kombiniert werden.
 
Beim Backup von Datenbanken unterscheidet man (wie allgemein beim Backup) zwei mögliche Verfahren, das logische Backup und das physische Backup. Beide Verfahren können natürlich auch kombiniert werden.
Zeile 8: Zeile 8:
 
das logische Backup kümmert sich um die Struktur der Daten/Tabellen, d.h. deren Inhalt wird sozusagen "im Klartext" gesichert.
 
das logische Backup kümmert sich um die Struktur der Daten/Tabellen, d.h. deren Inhalt wird sozusagen "im Klartext" gesichert.
 
=== Vorteile ===
 
=== Vorteile ===
Die Backup-Datei besteht aus SQL-Anweisungen, z.B. CREATE TABLE..., INSERT INTO... ist also weitgehend kompatibel und lässt die Wiederherstellung auch auf anderen Maschinen und sogar anderen Datenbanken (MySQL nach PostgreSQL) zu. Weiterhin sind auch nur Teilbackups möglich, also die Sicherung nur einer Tabelle bzw. nur ausgewählter Tabellen.
+
Die Backup-Datei besteht aus SQL-Anweisungen, z.B. CREATE TABLE..., INSERT INTO... ist also weitgehend kompatibel und lässt die Wiederherstellung auch auf anderen Maschinen und sogar anderen Datenbanken (MySQL nach PostgreSQL) zu. Weiterhin sind auch nur Teilbackups möglich, also die Sicherung nur einer Tabelle bzw. nur ausgewählte Tabellen.
 
Bei grossen Datenbanken kann es im Laufe der Zeit zu ungenutzten Speicherbereichen (Garbage) kommen. Dieser Garbage verschwindet beim Zurückspielen von logischen Backups.
 
Bei grossen Datenbanken kann es im Laufe der Zeit zu ungenutzten Speicherbereichen (Garbage) kommen. Dieser Garbage verschwindet beim Zurückspielen von logischen Backups.
 
=== eventuelle Nachteile ===
 
=== eventuelle Nachteile ===
Zeile 17: Zeile 17:
 
Speicherung auf Dateiebene (blockweises kopieren der Daten auf das Sicherungsmedium), dadurch werden auch Logdateien gesichert und es ist nicht unbedingt eine direkte Verbindung zur Datenbank notwendig.
 
Speicherung auf Dateiebene (blockweises kopieren der Daten auf das Sicherungsmedium), dadurch werden auch Logdateien gesichert und es ist nicht unbedingt eine direkte Verbindung zur Datenbank notwendig.
 
=== eventuelle Nachteile ===
 
=== eventuelle Nachteile ===
kopierte Dateien müssten mittels geeigneter Verfahren (Prüfsummen) auf Korrektheit geprüft werden, da schon geringe Datenübertragungs- oder Speicherfehler meist zur Unbrauchbarkeit führen. Ein physisches Backup ist für die Wiederherstellung auf jeden Fall an die gleiche Datenbank gebunden, unter Umständen sogar an die gleiche Version der Datenbank.
+
kopierte Dateien müssten mittels geeigneter Verfahren (Prüfsummen) auf Korrektheit geprüft werden, da schon geringe Datenübertragungs- oder Speicherfehler meist zur Unbrauchbarkeit führen. Ein physisches Backup ist für die Wiederherstellung auf jeden Fall an die gleiche Datenbank gebunden.
 
== Tools zum Backup von Datenbanken ==
 
== Tools zum Backup von Datenbanken ==
 
* [[automysqlbackup]]: erstellt täglich, wöchentlich und monatlich Backups für alle MySQL-Datenbanken. Im Normalfall werden diese Backups in den Ordnern /var/lib/automysqlbackup/daily/, /var/lib/automysqlbackup/weekly/ und /var/lib/automysqlbackup/monthly/ gesichert, der Zielort ist jedoch in der Konfigurationsdatei beliebig einstellbar.
 
* [[automysqlbackup]]: erstellt täglich, wöchentlich und monatlich Backups für alle MySQL-Datenbanken. Im Normalfall werden diese Backups in den Ordnern /var/lib/automysqlbackup/daily/, /var/lib/automysqlbackup/weekly/ und /var/lib/automysqlbackup/monthly/ gesichert, der Zielort ist jedoch in der Konfigurationsdatei beliebig einstellbar.
Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle mxlinuxusers.de-Beiträge automatisch unter der „Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)“ stehen (siehe mxlinuxusers.de:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.
Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)