Homepage CGI/Perl Scripte PHP Scripte Artikel CGI-Perl Workshop SELFHTML SELFPHP Linkdatenbank Grafikdownloads
Inspire-World Forum  
Zurück   Inspire-World Forum > Cgi und Perl > CGI und Perl Forum

Antwort
 
Themen-Optionen Ansicht
Alt 01.06.2004, 13:10   #1
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard Thema: Große MySQL DB's sichern...

Hi @All,

Nachdem es mich ja nun auch betrifft größere Datenbestände einer MySQL Datenbank zu sichern, und im Falle des Falles wieder einspielen zu müssen, hab ich mir dazu mal paar Gedanken gemacht. Grund: das berühmt berüchtigte Timeout bei großen Datenbeständen. Es hat ja auch nicht jeder einen Server mit entsprechenden Zugriffsrechten.

Lösungsansatz: Sichern der Inhalte Stückweise (etwa 2000-3000 Inserts) in eine Datendatei. Meine Versuche dazu sind bis jetzt recht vielversprechend. Es lassen sich damit per Browser beliebigst große Datenbestände sichern.

Ein paar Screenshots dazu:

Konfigurieren der Datenbanken


Datenbank auswählen zum sichern


Backup der Tabellendefinitionen


Gestaffeltes sichern der Inhalte


Beim einspielen des Backups werden dann die Backupdateien gelesen und die Inserts wieder Paketweise in die DB geschrieben. Das ist allerdings noch nicht fertig.

1. Eure Meinung dazu?
2. Wer hat Datenbanken die frei sind und Lust zum testen?
Ich würde demjenigen dann, wenn es soweit ist, das Script zum testen senden.

Ich hoffe das ich mit dem Teil allen helfen kann die Probleme beim sichern und wiedereinspielen von Backups haben, bedingt durch Timeouts.

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 01.06.2004, 14:04   #2
Ursus der Bär
Registrierter Benutzer
Senior Anwärter
 
Benutzerbild von Ursus der Bär
 
Registriert seit: 09.2001
Ort: Zürich
Beiträge: 1.672
Standard

Hallo Helmut,
wird das BackUp file auf den Server kopiert oder kann ich das BackUp file auf dem Lokalen PC speichern?
__________________
CU2 - Ursus der Bär

•◊•
Ursus der Bär ist offline   Mit Zitat antworten
Alt 01.06.2004, 14:17   #3
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard

Hi,

das Script legt einen Satz Backupdateien auf dem Server an die man runterlädt, beim zurückspielen in die DB lädt man die Dateien in das restore Verzeichnis und startet den Vorgang.

Wie gesagt, kleine DB Backups bekommt man mit fast jedem Script hin, hat man aber DB's mit vielen Daten klappt das meist nicht. Durch das splitten der Insertdateien kann man aber auch Backups von Gigabyte Größe zurückspielen.

Die Dateien sehen dann, hier noch ungezippt, in etwa so aus:


Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 08.06.2004, 16:37   #4
Maxter
Registrierter Benutzer
Member
 
Benutzerbild von Maxter
 
Registriert seit: 06.2004
Beiträge: 107
Standard

zu 1) find ich gut! hab schon selber per hand datei zerlegen müssen als ich das backup aufspielte...
zu 2) hab eigenen server, kann dir soviele datenbanken einrichten wie du möchtest...

welche funktion ich auch gut finden würden:

sichert nur von bestimmten tabellen, und zwar gibt es leufte die ja nur eine db haben, auf dieser 5 oder 6 verschiedene systeme laufen, sei es cms und bb oder sonstiges... in den meisten cms-systemen sind schon die bachup-funktionen meistens vorhanden, und doppelsicherung muss ja auch nicht sein....

nur eine überlegung...
Maxter ist offline   Mit Zitat antworten
Alt 08.06.2004, 21:26   #5
geiser
Registrierter Benutzer
 
Benutzerbild von geiser
 
Registriert seit: 11.2002
Ort: Neustadt
Beiträge: 21
Standard Tester

Hallo Helmut,

würde dieses gerne auch Testen, da ich sehr große Datenbanken habe und das ein haufen Arbeit ist diese wieder aufzuspielen.

Gruß Geiser
geiser ist offline   Mit Zitat antworten
Alt 09.06.2004, 18:54   #6
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard

Hi,

soderle, 2 Verbesserungen sind noch eingebaut.

1. Das entpacken der Backups erfolgt gestaffelt bei vielen Dateien
2. Die zu sichernden Tabellen können per Checkbox markiert werden.

Muss das ganze noch bischen testen, sieht aber schon gut aus.

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 11.06.2004, 14:15   #7
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Ausrufezeichen

Hi,

wer das Script selbst einmal testen möchte kann dies unter http://www.inspire-world.de/cgiservice/index.shtml MySQL Backup & Restore herunterladen.

Bei Fragen, Problemen, Hinweisen bitte in diesen Thread posten.

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 11.06.2004, 16:40   #8
MaMo
Registrierter Benutzer
Board-Member
 
Benutzerbild von MaMo
 
Registriert seit: 07.2002
Ort: Bielefeld
Beiträge: 647
Standard

Hi.

Ich werde es mal ausprobieren, auch wenn die DB noch nicht so groß ist.

MfG Mamo
MaMo ist offline   Mit Zitat antworten
Alt 15.06.2004, 10:42   #9
FlashNash
Registrierter Benutzer
 
Registriert seit: 06.2004
Beiträge: 6
Standard

@Helmut
Ich habe hier im vB-Forum schon mein Post zum akt. Prob abgesetzt. in der HJoffnung, dass Du hier eher mal nachschaust, habe ich mich mal hier angemeldet.

Durch die Restore-Versuche habe ich nun blöderweise meine Master-SQL angeklickt (deppert ... und nicht aufgepasst). Als Folge davon ist die plötzlich leer d.h. alle Felder 0 Einträge und ich bekomme den Kram, wegen des o.a. Probs, nicht zurückgespeichert. Als Folge davon ... mein Board liegt platt! Ist irgendwie nicht mein Tag heute. Ich hoffe, Du kannst mir schnell mal aus dem Sulki helfen. Thx schon mal.
FlashNash ist offline   Mit Zitat antworten
Alt 15.06.2004, 11:16   #10
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard

Hi,

nun da haste ja einen Gau eingerührt. Ob ich da viel machen kann weiss ich nicht. Aber wenn Du ein komplettes Backup hast (hoff ich für Dich) müsste das ja auch wieder einzuspielen gehen.

Zumindest hat das bei mir immer geklappt.

Bei der Auswahl der DB musste aber schon selber genauestens hinschauen.

Das was Du im VB-Board geschrieben hast deutet darauf hin das Du die Dateien nicht am richtigen Fleck hast.

Der Backupsatz muss zum restoren erstmal entpackt werden, das ist die .tar Datei des downloadbaren Gesamtbackups.

Dann muss das ganze in das HTML Verz. des Scriptes. Von da werden die Dateien dann nach restore/files enpackt und sollten als .sql Dateien vorliegen.

Danach geht es mit der Restore Prozedur los.

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 15.06.2004, 12:02   #11
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard

Hi,

hier nochmal paar Screenshots zur Orientierung.

1. Upload der einzuspielenden Daten in das HTML Verz.



2. nach dem Entpacken müsen die so im restore/files Verz. liegen.



3. Anzeige der entpackten Dateien, hier dann die richtige DB auswählen zum einspielen der Daten



4. Wenn die createstatement.sql eingespielt wurde werden die Tabellennamen angezeigt und die Inhalte können eingespielt werden



Die Screenshots stammen aus einem Test den ich jetzt gerade bei Puretec gemacht hab. Wie gesagt, das A und O ist das man beim Restore die richtige Datenbank auswählt, das steht eigentlich auch als Hinweis da. Den Schritt kann ich leider auch niemandem abnehmen...

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 15.06.2004, 12:04   #12
FlashNash
Registrierter Benutzer
 
Registriert seit: 06.2004
Beiträge: 6
Standard

Also... ein Backup hatte ich gottseidank downgeloadet. Ich bin jetzt noch einmal wie folgt vorgegangen:

1. die .tar Datei des downloadbaren Gesamtbackups habe ich local entpackt
2. die darin enthaltenen *.sql.tar.gz Files habe ich nach /meinedomain/sqlback hochgeladen
3. ich starte das restore ... und erhalte wieder


Fehlermeldung:
Fehler: Kann Eintrag createstatement.sql nicht finden! Es ist ein fataler Scriptfehler im Modul "FRWtools" bei Zeile 189 aufgetreten.


Das verfl.... createstatement.sql liegt ja fast in jedem Sub .. als *.SQL und auch als *.SQL.TAR.GZ hab ich überall schon hochgeladen.

Zur Information ... die Felder in der DB sind bereits vom ersten Restore-Versuch alle vorhanden ... oder muss ich die alle löschen ?
Kann aber doch nicht sein.... sollte doch wurscht sein ob die Felder (jetzt leer) da sind oder nicht!
FlashNash ist offline   Mit Zitat antworten
Alt 15.06.2004, 12:43   #13
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard

Hi,

Du könntest mir ja mal Deine URL und FTP Daten senden. Ich würde mir das gern mal ansehen was und warum es da klemmt.

So wie jetzt fisch ich und Du da morgen noch im trüben.

Bitte spiele dazu das Backup hoch und sage mir genau in welche DB das Backup rein soll.

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]
Helmut ist offline   Mit Zitat antworten
Alt 15.06.2004, 12:55   #14
FlashNash
Registrierter Benutzer
 
Registriert seit: 06.2004
Beiträge: 6
Standard

Txh... hast Post, aber wirste ja merken.
FlashNash ist offline   Mit Zitat antworten
Alt 15.06.2004, 13:16   #15
Helmut
Moderator
 
Benutzerbild von Helmut
 
Registriert seit: 04.2001
Ort: Brand-Erbisdorf
Beiträge: 24.123
Standard

Hi,

jupp, habs gelesen, und Du bekommst gleich haue von Mama....

Warum?
Der chmod des restore Verzeichnisses war nämlich nicht wie gefordert 777.
Dadurch hat es Dir auch deine Dateien nicht dahin entpackt. Das dann die Fehlermeldung kommt das die Dateien nicht gefunden werden ist die logische Folge.

Ich werd aber in das Script noch einen Check einbauen der auch die chmod testet und wenn nötig Warnungen ausgibt.

Noch ein wichtiger Tipp:
Bedenke das bei Puretec eine DB nur max. 100MB groß werden darf.
Ansonsten crash. Du hast nämlich jetzt schon einige Daten drin...

Cu Helmut
__________________
[Nur wer selber mal probiert lernt auch dazu]

Geändert von Helmut (15.06.2004 um 13:18 Uhr)
Helmut ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:23 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.