Archive:SEP sesam Extension for MySQL

From SEPsesam
Revision as of 14:34, 6 February 2009 by Hg (talk | contribs) (New page: =Introduction= Das SEP sesam Online Modul für MySQL ermöglicht die Sicherung von MySQL-Datenbanken zur Laufzeit. Dies umfasst das Sicherung und Rücksicherung einer einzelnen Datenbank ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

Das SEP sesam Online Modul für MySQL ermöglicht die Sicherung von MySQL-Datenbanken zur Laufzeit. Dies umfasst das Sicherung und Rücksicherung einer einzelnen Datenbank oder aller Datenbanken eines Servers. Als Schnittstelle für das Backup MySQL-Tool mysqldump und zum Restore das MySQL-Programm mysql genutzt. Nur die MySQL-eigenen Datenbank-Tools gewährleisten, dass die Daten nach Backup und Restore einen konsistenten Zustand aufweisen.


ATTENTION

Alle im Dokument aufgeführten Sicherungsparameter sind keine Bestandteile des SEP sesam. Es handelt sich hierbei ausschließlich um Beipiele und Empfehlungen, wie eine MySQL-Datenbank gesichert werden kann. Auf Grund der verschiedenen Betriebs-Modi in denen eine MySQL-Datenbank betrieben werden und in den unterschiedlichsten Einsatzmöglichkeiten in den eine MySQL-Datenbank genutzt werden kann, können hier nur einige Parameter beipielgebend erwähnt werden. Weiterführende Informationen zu Backup-Strategien und den Vorgehensweisen beim Backup entnehmen Sie bitte der MySQL-Dokumentation (http://dev.mysql.com/doc/) und den Manpages zu mysqldump und mysql.


Prerequisites

  • MySQL server version > 4.1 auf Linux (e.g. RHEL 4/5 und SLES 9/10)
  • SEP Sesam server version >= 3.4.1.X
  • Sesam client >= 3.4.1.51 on the MySQL database host
  • Functioning SEP sesam filesystem Backup


Installation

RPM

Die RPM-Installation ist bevorzugte Methode für die Installation der MySQL-Online-Extension.

  • Bitte stellen Sie sicher, dass der Sesam Klient als RPM installiert ist.
  • Eine Pfadsicherung sollte mit diesem Klienten möglich sein

Installieren oder Updaten des SEPsesam Online DB-Moduls mit:

rpm -Uhv sesam_mysql-2.0.2-100.i386.rpm

Tarball

  • Bitte stellen Sie sicher, dass der Sesam Klient als RPM installiert ist.
  • Eine Pfadsicherung sollte mit diesem Klienten möglich sein
  • Aus dem Klienten als User "root" einloggen
  • Das Tarball (z.B. sesam-mysql.tgz) aus dem Downloadbreich herunterladen und an einem temporären Ort (z.B. /tmp) entpacken
  • Kopieren der MySQL-Komponenten in das Binary-Verzeichnis des Sesam Klienten

Die Installation wird wie folgt durchgeführt:

#> cd /tmp
#> tar xvzf sesam-mysql.tgz
#> cp /tmp/sesam-mysql/* /opt/sesam/bin/sesam/


Configuration

Die weitere Einrichtung wird in der SEP sesam GUI vorgenommen.

  • Erzeugen eines neuen Sicherungsauftrages
  • Als Sicherungstyp ist MySQL zu wählen
  • Eingabe des Datenbanknamen im Feld "Quelle".
  • Unter Optionen 1 können für das Backup und dem Restore Parameter mitgegeben werden. Details sind im Abschnitt "Backup & Restore" beschrieben.


ACHTUNG

Es wird empfohlen bei Job-Konfiguration ggf. User und Passwort bei den 'Rücksicherungsoptionen' auf dieselben Werte zu setzen wie die 'Sicherungsoptionen'. Bei Bedarf können die Optionen zum Zeitpunkt der Rücksicherung im Rücksicherungsassistenten angegeben werden.


Backup & Restore

Backup

  • Zuerst ist über die Sesam GUI ein Sicherungsauftrag zu erzeugen. Für eine Sicherung wählen Sie in der SEP sesam GUI als Sicherungstyp mySQL aus.
  • Als Sicherungsquelle sind dabei folgende Angaben möglich:
    • <DB_NAME>
      Sicherung einer einzelnen Datenbank (z.B. my_db)
      ACHTUNG: Bitte auf die Groß-/Kleinschreibung des Datenbanknamens achten !!!
    • all
      Sicherung aller Datenbanken eines MySQL-Servers
  • Über die Dialogseite Optionen können der Sicherung im Feld Sicherungsoptionen weitere Parameter mitgegeben werden. Folgend einige Beipiele:

a) Um das Passwort und den Username der Datenbank zu setzen:

-a user=<DBuser>,password=<Passwort_DBusers>


Hint

Die bisherige Konfiguration von username und password in der sm.ini-Datei des Klienten ist nicht mehr nötig. Diese Einstellungen werden jetzt in der GUI des Sesam Servers vorgenommen. }}

b) Für eine verbesserung des Datendurchsatzes beim Backup:

-a opt

c) Für eine konsistente Sicherung einer MySQL-Datenbank vom Typ InnoDB:

-a single-transaction

d) Man kann die Parameter und Andere auch in einem Statement kombinieren:

-a user=<DBuser>,password=<Passwort_DBusers>,opt,single-transaction


ATTENTION
  1. Die mysqldump-Parameter werden OHNE doppelten Bindestrich angegeben. Sesam übersetzt die Parameter bei der Übergabe an MySQL automatisch in das richtige Format.
  2. Die Optionszeile hinter dem -a darf kein Leerzeichen enthalten.

Restore

Ein Restore wird über den Aufruf des Rücksicherungsassistenten gestartet. Hier wird zunächst der gesuchte Sicherungsjob gewählt, danach der Zeitraum des gewünschten Backups eingestellt. In der daraufhin erscheinenden Liste ist das gewünschte Backup zur Rücksicherung auszuwählen. Hierbei gibt es 2 Optionen:

  • kein Recover nach Restore
    Hier wird beim Restore ein Dump File im Work-Verzeichnis (normalerweise /var/opt/sesam/var/work des Sesam Klienten erzeugt oder in älteren Versionen auch unter /opt/sesam/bin/sesam auf dem Clienten. Der Name der Datei setzt sich aus dem Prefix mysql-, der Saveset-ID und abschließend dem Suffix .tmp zusammen. Die Datei kann nun manuell dem MySQL-Kommando mysql in die Datenbank importiert werden kann.
 Beispiel: mysql < /var/opt/sesam/var/work/mysql-SF20081128224529.tmp
  • Auto Recover nach restore
    Ist diese Option gewählt, dann erfolgt die Rücksicherung direkt in die Datenbank. Wenn in dem rückzusichernden Backupjob nur eine einzelne Datenbank gesichert wurde, erfolgt der Restore in die Datenbank, deren Name bei Rücksicherungsziel angegeben ist.


ATTENTION

Bei Benutzung der Option Auto Recover nach Restore muss die Datenbank bereits exisieren, ansonsten wird der Restore fehlschlagen. Dabei ist weiterhin darauf zu achten, dass die Ausführungsoption Existierenden Dateien überschreiben gesetzt ist, da die existierende Datenbank ansonsten nicht überschrieben wird.

Ist im Backup das CREATE DATABASE Statement nicht enthalten, können die Daten immer nur in die Original-Datenbank zurückgespielt werden. Es ist hierbei NICHT möglich das Rücksicherungsziel zu ändern.

In einem solchen Fall, dass die Datenbank an einen anderen Ort zurückgesichert werden muss, ist nur eine Rücksicherung mit der Option kein Recover nach Restore möglich. Hier kann im Nachhinein das Dump-File editiert und damit den Erfordernissen angepasst werden. Abschließend ist der Dump manuell (s.o.) in das Zielsystem zu importieren.