Noobis.de - Wir helfen weiter !


Banner Picture
Backup MySQL-Datenbank PDF Drucken E-Mail
Benutzerbewertung: / 2
SchwachPerfekt 
Tutorial Übersicht - Developer Tutorials
Samstag, 20. September 2008 um 15:49

Es gibt viele Möglichkeiten eine MySQL Datenbank unter Linux zu sichern.

Ich möchte im Folgenden auf die Möglichkeiten per Browser mit PHPMyAdmin und per Konsole mit mysqldumb näher eingehen.

Eine 3rd Party Möglichkeit mit MySQL Dumper stelle ich Ihnen auch in einem kurzen Überblick vor.

 



1. PHPMyAdmin: Sicherung der DB

TOP

Im Folgenden gehe ich nicht auf die Einrichtung von PHPMyAdmin ein. Die Installation sollte bereits durchgeführt sein.

Wechseln Sie im Browser zu Ihrer PHPMyAdmin Installation mit:

http://DOMAINoderIPADRESSE/phpmyadmin (Bei Debian Groß- und Kleinschreibung beachten)

 Loggen Sie sich je nach gewählter Authentifizierungsmethode ein.

Gehen Sie nun wie folgend beschrieben vor:

  • Auswahl der MySQL-Datenbank in linken Dropdownmenü
  • Im rechten Frame den Reiter EXPORTIEREN wählen
  • Unter den Tabellen ALE AUSWÄHLEN anklicken
  • Das Häkchen bei SENDEN setzen
  • Einen Namen dem Datenbankbackup geben
  • Eine Art der Kompression wählen (bei kleinen DBs nicht wichtig)
  • Und mit OK bestätigen

Es öffnet sich jetzt das Downloadfenster. Laden Sie die Datei nun herunter.

 

2. PHPMyAdmin: Wiederherstellung der DB

TOP

Im folgenden die Wiederherstellung des Backups:

Wechseln Sie im Browser zu Ihrer PHPMyAdmin Installation mit:

http://DOMAINoderIPADRESSE/phpmyadmin (Bei Debian Groß- und Kleinschreibung beachten)

 Loggen Sie sich je nach gewählter Authentifizierungsmethode ein.

Gehen Sie nun wie folgend beschrieben vor:

  • Auswahl der MySQL-Datenbank in linken Dropdownmenü
  • Im rechten Frame den Reiter SQL wählen
  • DURCHSUCHEN wählen und DB-Backup lokal auswählen
  • Bei ZEICHENCODIERUNG DER DATEI LATIN1 oder UTF8 wählen
  • Und mit OK bestätigen

Die Sicherung wird nun wiederhergestellt bzw. in Ihre Datenbank geladen.

 

3. PHPMyAdmin: Häufige Probleme ...

TOP

Bei Debian: Wenn der Restore / die Wiederherstellung zu lange dauert:

Suchen Sie die Datei

etc/php4/apache2/php.ini

 und ändern Sie folgende Parameter:

memory_limit
upload_max_filesize
 

4. Alternative: SQLDump

TOP

Alternativ können Sie ein Backup und die Wiederherstellung auch auf der Konsole durchführen.

Diese Methode wird von uns empfohlen.

Folgende Parameter werden im Folgenden verwendet:

  • dbusername = Ihr Benutzername der Datenbank
  • databasename = Datenbankname
  • /verzeichnis/backupname.sql = Verzeichnis und Name der Sicherung

Sicherung / Backup der Datenbank:

mysqldump --opt -Q -u dbusername -p databasename > /verzeichnis/backupname.sql

 Wiederherstellung / Restore der Datenbank:

mysql -u dbusername -p databasename < /verzeichnis/backupname.sql

 

Alternativ

Sicherung / Backup der Datenbank:

mysqldump -uUSER -pPASS DATENBANK > file.sql

 Wiederherstellung / Restore der Datenbank:

mysql -uUser -pPass Datenbank
source file.sql

 

5. Automatisierung: SQLDump

TOP

Mit folgedem Script können Sie die unter Punkt 4 genannte Möglichkeit automatisieren

#!/bin/sh

#Aktuelles Datum für Dateinamen setzen
DATUM=`/bin/date '+%Y-%m-%d'`

# Backup Database 1:
mysqldump --opt -Q -u DATENBANKBENUTZER -B DATENBANK --password=PASSWORT >/Verzeichnis/Dateiname_vom_$DATUM.sql

# Backup Database X: #falls mehr als eine automatisch gesichert werden soll
mysqldump --opt -Q -u DATENBANKBENUTZER -B DATENBANK --password=PASSWORT >/Verzeichnis/Dateiname_vom_$DATUM.sql

## Restore: # hier nur aufgeführt zwecks Vollständigkeit # evt. erstellen der DBs
# mysql -u<BENUTZER> -p<PASSWORT>
# mysql -p mysql>CREATE DATABASE <Datenbank>;
# exit;

# Einspielen:
# mysql -u dbusername -p databasename < /Verzeichnis/backupname.sql

## Beachten: bei System- oder Versionswechsel kommt es oft zu Problemen mit Umlauten.

 

6. Automatisierung: Häufige Probleme ...

TOP

 PHP Scripte werden meist nach einer Ausführungszeit von mehr als 30 Sekunden nach 30 Sekunden abgebrochen. Somit ist ein Backup nur bis einer bestimmten Größe möglich. Dies passiert bei dem Backup als auch bei einer Wiederherstellug.

 

7. Optimale Lösung: MySQL-Dumper

TOP

 Um die unter Punkt 6 bereits erwähnte Problematik zu umgehen nutzt der MySQL Dumper einen Trick.

Einige der vielen Funktionen von MYSQLDumper

  • einfache Sicherung und Wiederherstellung von MySQL-Datenbanken
  • MySQLDumper stellt Backups von Fremdprogrammen dank integriertem Parser wieder her
  • MySQLDumper beherrscht Multipart-Backup. D.h. bei großen Datenbanken kann das Backup automatisch auf mehrere Dateien verteilt werden (die gewünschte maximale Größe der Teildateien einstellbar!). Bei der Wiederherstellung sucht MySQLDumper automatisch die korrekte erste Teildatei, auch wenn versehentlich eine anderere gewählt wurde!!!
  • SQL-Browser: Du hast Zugriff auf Deine Tabellen. Du kannst Tabellen löschen, Datensätze editieren oder hinzufügen, SQL-Befehle direkt verarbeiten und auch speichern. Vergleichbar mit PhpMyAdmin bzw. somit der Ersatz.
  • Datenbankübersicht: Prozesse (mit einstellbarer Aktualisierung, Möglichkeit zum Beenden von Prozessen), Variablen, usw.
  • Verwaltung der Backup-Dateien
  • automatisches Löschen veralteter Backups nach selbst definierten Regeln (nach Alter der Datei oder nach Anzahl)
  • über ein mitgeliefertes Perl-Script lassen sich in Verbindung mit einem eingerichteten Cronjob Backupvorgänge automatisieren

Installation MySQLDumper

Download der Software unter: www.mysqldumper.de/board/download.php

alternativ über die Konsole mit wget:

wget http://www.mysqldumper.de/board/download.php?id=399

 Das herunter geladenen Script wird im /var/www/VERZEICNIS/ entpackt und die config folgend angepasst:

Vorgänge; benutzer; passwort

config Datei per chmod auf 777 gesetzt

 Danach rufen wir im Browser das Script auf:

http://host/dumper/install.php

 
Wir testen den Login und legen ein FTP Account an.

Nach dem erstellen des Cronjobs:

  • cronskript: endung=cgi pfad=/usr/lib/cgi-bin/ (speziel Debian)
  • (später müssen sripte hierhin verschoben werden); Backup per ftp senden speichern!
  • crondump editiern von .pl auf .cgi und pfad zum config-skript angeben
  • crondump etc. verschieben nach /usr/lib/cgi-bin/
  • touch /etc/cron.hourly/mysqlBackup
  • mysqlBackup editiern und Skriptinhalt:

    #! /bin/sh |
    perl /usr/lib/cgi-bin/crondump.cgi config=mysqldumper.conf

     einfügen.

Das wars.


Weitere Informationen zum MySQL Dumper finden Sie hier: Homepage von MYSQLDumper

 

Aktualisiert ( Samstag, 20. September 2008 um 15:50 )
 

Comments

B
i
u
Quote
Code
List
List=
[*]
URL
Name *
Email (For verification & Replies)
URL
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Working....
Finished
Failed