Sie sind auf Seite 1von 31

11 Backup-Strategien

INSY5

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
1/ 31
INSY 5
11 Backup-Strategien

Allgemeines
• Sobald Daten in einer Datenbank gespeichert
werden, sind sie in Gefahr.
• Fehler durch
• Hard- oder Software,
• versehentlich eingegebene gefährliche Befehle,
• höhere Gewalt und
• Missgeschicke
machen Daten unbrauchbar!

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
2/ 31
INSY 5
11 Backup-Strategien

Allgemeines
• Regelmäßige Sicherungen sind durchzuführen, und
bei Bedarf Backups wieder einzuspielen.
• Je nachdem wie
• geschäftskritisch Daten sind,
• wie häufig sich die Daten ändern und
• wie leicht sie aus anderen Quellen wieder
hergestellt werden können,
muss der Zeitabstand zwischen den Backups
entsprechend gewählt werden.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
3/ 31
INSY 5
11 Backup-Strategien

Allgemeines

• Während die Daten gesichert werden, dürfen


sie sich auch nicht ändern.
• Ansonsten kann es zu Inkonsistenzen im
Datenbestand kommen.
• Eine komplette Sicherung einer großen
Datenbank kann viele Stunden dauern.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
4/ 31
INSY 5
11 Backup-Strategien

Allgemeines
• Während des Backups sind
Datenoperationen auf der Datenbank nur
eingeschränkt möglich.
• Zusätzlich benötigt das Sichern CPU-, RAM-
und Dateisystemressourcen.
• Diese Auslastung kann sich auch auf andere
Systeme auswirken.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
5/ 31
INSY 5
11 Backup-Strategien

Allgemeines

• Für das Backup empfiehlt sich daher ein


Zeitraum, zu dem der Server wenig
ausgelastet ist.
• Für ein allfälliges Restore muss man sich im
Vorhinein Gedanken über die Reproduktion
machen und diesen Prozess testen.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
6/ 31
INSY 5
11 Backup-Strategien

Allgemeines

• Ein Backup ist nur dann erfolgreich, wenn die


Daten im Ernstfall rasch wieder hergestellt
werden können.
• Ansonsten ist ein Backup nutzlos.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
7/ 31
INSY 5
11 Backup-Strategien

Allgemeines
• Auch über den Ort des Backups muss man
sich Gedanken machen.
• Grundsätzlich sollte ein Backup nicht am
selben Speichermedium vorgenommen
werden, da bei einem Hard- oder
Softwarefehler unter Umständen die ganze
Festplatte unbrauchbar ist.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
8/ 31
INSY 5
11 Backup-Strategien

Logisches Backup

• Beim logischen Backup werden alle Statements zur


Erzeugung der Datenbank (die logische Struktur) und
der darin befindlichen Daten in einer Textdatei
gespeichert.
• Im Fehlerfall können diese SQL-Statements einfach
erneut ausgeführt werden und so die Datenbank
wieder aufbauen und mit Daten füllen.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
9/ 31
INSY 5
11 Backup-Strategien

Logisches Backup - Vorteile


• Die gespeicherten SQL-Befehle sind unabhängig vom
Betriebssystem. Eine Datenbank kann beispielsweise
problemlos von einem Linux-Server auf ein
Windows-Testsystem überspielt werden.
• Das Backup ist in einem für den Menschen lesbaren
Format (SQL-Statements). Datensätze können vor
dem Einspielen noch geändert werden.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
10/ 31
INSY 5
11 Backup-Strategien

Logisches Backup - Vorteile


• Es kann im laufenden Betrieb gesichert werden.
Server kann weiterarbeiten.
• Sicherungsebene kann festgelegt werden: ganzer
Server, Datenbanken, Tabellen
• Kein direkter Zugriff auf das Dateisystem notwendig.
• Tools zum Sichern können vom Client aufgerufen
werden.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
11/ 31
INSY 5
11 Backup-Strategien

Logisches Backup - Nachteile

• Benötigt mehr Ressourcen (CPU, RAM), da


die Datensätze umgewandelt werden
müssen.
• Textformat verbraucht mehr Speicherplatz.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
12/ 31
INSY 5
11 Backup-Strategien

Physisches Backup
• Physische Backups speichern nicht die logische
Struktur, sondern die Dateien im Dateisystem des
Serverbetriebssystems.
• MySQL speichert alle Daten, Tabellen und
Datenbanken im Dateisystem in den Verzeichnissen
der MySQL-Installation.
• Abhängig von den verwendeten Storage-Engines.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
13/ 31
INSY 5
11 Backup-Strategien

Physisches Backup - Vorteile

• Schnell zu erstellen / wiederherstellen. Keine


Umwandlung notwendig.
▪ Benötigt weniger Speicherplatz.
▪ Dadurch ist auch das Kopieren der Daten
schneller.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
14/ 31
INSY 5
11 Backup-Strategien

Physisches Backup - Nachteile

• Storage Engines müssen berücksichtigt


werden.
▪ Backup im laufenden Betrieb kann zu
Inkonsistenzen führen.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
15/ 31
INSY 5
11 Backup-Strategien

Online Backups (Hot Copy)

• Online Backups sind Backups, die durchgeführt


werden, während der Server läuft.
• Bei logischen Backups muss der Server
hochgefahren sein damit die Daten in SQL-
Statements umgewandelt werden können.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
16/ 31
INSY 5
11 Backup-Strategien

Online Backups (Hot Copy)

• Der Vorteil von online Backups ist, dass andere


Clients während des Backups weiterhin ihre
Anfragen am Server durchführen können.
• Das Backup und die Anfragen der Clients
beeinflussen sich gegenseitig.
• Daher wird mehr Zeit für das Backup benötigt.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
17/ 31
INSY 5
11 Backup-Strategien

Offline Backups (Cold Copy)

• Ein offline Backup wird bei


heruntergefahrenem Server durchgeführt.
• Es werden einfach die Dateien des MySQL-
Servers vom Dateisystem kopiert.
• Dabei findet keine Interaktion mit dem
Server statt.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
18/ 31
INSY 5
11 Backup-Strategien

Offline Backups (Cold Copy)

• Der Vorteil vom offline Backup ist, dass keine


Rücksicht auf die Clients genommen werden
muss.
• Nachteil ist, dass der Server während dieser
Zeit nicht genutzt werden kann.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
19/ 31
INSY 5
11 Backup-Strategien

Volle / Inkrementelle Backups

• Es können immer entweder die gesamten Daten


gesichert werden oder nur jene Daten, die sich seit
einem bestimmten Zeitpunkt geändert haben.
• Werden bei jedem Backup alle Daten gesichert, so
spricht man von einem Vollbackup.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
20/ 31
INSY 5
11 Backup-Strategien

Volle / Inkrementelle Backups


• Ein inkrementelles Backup sichert die Daten, welche
sich seit dem letzten Backup geändert haben.
• Dadurch wird in der Regel der Speicherbedarf stark
reduziert.
• Da weniger Daten gesichert werden müssen, ist auch
die Zeit kürzer, welche zum Sichern benötigt wird.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
21/ 31
INSY 5
11 Backup-Strategien

Volle / Inkrementelle Backups

• Inkrementelle Backups sind bei der


Wiederherstellung aufwendiger.
• Es müssen alle Teilbackups in der richtigen
Reihenfolge eingespielt werden.
• Fehlt ein Teil, bzw. ist ein Teilbackup beschädigt, so
können die Daten nicht wieder vollständig hergestellt
werden.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
22/ 31
INSY 5
11 Backup-Strategien

Volle / Inkrementelle Backups


• Empfehlenswert ist eine Mischung aus beiden
Varianten.
• Z.B. wird jedes Wochenende ein Vollbackup angelegt
und täglich in der Nacht (bei geringer
Serverauslastung) ein inkrementelles Backup.
• Im schlimmsten Fall müssen das letzte Vollbackup
und sechs Teilbackups eingespielt werden, um die
Daten wieder herzustellen.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
23/ 31
INSY 5
11 Backup-Strategien

Differentielle Backups

• Ein differentielles Backup sichert alle Daten, die seit dem


letzten vollständigen Backup hinzugefügt oder geändert
wurden.
• Das erste Backup ist ebenfalls vollständig, aber jedes
nachfolgende Backup enthält alle Änderungen seit dem ersten
Vollbackup, nicht nur seit dem letzten Backup.
• Die Wiederherstellung erfordert nur das Basis-Backup und das
zuletzt erstellte differentielle Backup.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
24/ 31
INSY 5
11 Backup-Strategien

Logisches Backup mit mysqldump


• MySQL stellt das Tool mysqldump für Backups zur
Verfügung.
• Mit mysqldump können logische Backups von Tabellen,
Datenbanken oder allen Daten erstellt werden.
• Es erzeugt SQL-Statements, mit denen die Tabellen und
Daten wieder neu angelegt werden können.
• Diese SQL-Statements können auch für das Erstellen einer
zweiten Datenbank verwendet werden (z.B. für Testdaten,
Übersiedelung, ...).

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
25/ 31
INSY 5
11 Backup-Strategien

Logisches Backup mit mysqldump


• Mit folgendem Befehl kann ein komplettes logisches
Backup angelegt werden:
• mysqldump –u root –p --all-databases > 241215_fullBackup.sql
• Durch diesen Befehl werden alle Datenbanken mit all ihren
Tabellen in einer Datei gesichert.
• Es werden auch die internen Datenbanken von MySQL und
damit alle Benutzer gesichert.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
26/ 31
INSY 5
11 Backup-Strategien

Logisches Backup mit mysqldump


• Datenbanken mit all ihren Inhalten wieder einspielen:
mysql –u root –p < 241215_fullBackup.sql

• Backup einer einzelnen Datenbank mit Komprimierung:


mysqldump –u root –p --opt --single-transaction
FlughafenDB | gzip > FlughafenDBBackup.sql.gz

• --single-transaction stellt sicher, dass das Backup innerhalb einer


Transaktion ausgeführt wird. Diese Option macht nur bei einer
Storage Engine Sinn welche Transaktionen unterstützt.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
27/ 31
INSY 5
11 Backup-Strategien

Logisches Backup mit mysqldump


• Es ist auch möglich nur das Schema zu sichern, also nur die
Datenbank ohne die darin befindlichen Daten:
mysqldump --no-data –u root –p Flughafen >
FlughafenSchema.sql

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
28/ 31
INSY 5
11 Backup-Strategien

Logisches Backup mit mysqldump


• Um die mit mysqldump gesicherte und komprimierte Datenbank auf einem
anderen oder neuen System wieder einzuspielen sind folgende Schritte
notwendig:
• Neue Datenbank erzeugen und dann
mysqladmin create testDatenbank –u root –p
• Backup entpacken und einspielen mit
gunzip < FlughafenDBBackup.sql.gz | mysql –u root –p testDatenbank

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
29/ 31
INSY 5
11 Backup-Strategien

Logisches Backup mit mysqldump


• Die Konfigurationsdatei von MySQL beinhaltet wichtige Einstellungen,
ohne die das Backup unter Umständen nicht lauffähig ist. Aus diesem
Grund gehört die Konfigurationsdatei my.cnf zum Backup dazu.
• Ebenfalls berücksichtigt werden müssen Stored Procedures, Events und
Trigger.
• Diese werden in eigenen Tabellen gespeichert und sind so nicht bei
einem Backup einer Datenbank dabei.
• Über die Parameter --routines, --triggers und --events von
mysqldump können die serverseitigen Programme mitgespeichert
werden.

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
30/ 31
Danke, Faleminderit!

Leopold Dürmoser
leopoldduermoser@htl-shkoder.com
31/ 31

Das könnte Ihnen auch gefallen