Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sichere ich ne 126.85 MB kleine Datenbank ????
Schorsch
04.01.2003, 07:52
Wie sichere ich ne 126.85 MB kleine Datenbank ???? Alle herkömmlichen Methoden haben nix gebracht (timeout, etc...)!!! es ist nicht mehr feierlich!!!! bitte um hilfe wie ich das ding auf meine platte bekomme!!! thx!!
Gruß,
Schorsch
Hast Du schon Deinen Host gefragt, wie Du die DB sichern kannst?
belorofon
04.01.2003, 12:27
Bei welchem Hoster bist Du denn? Und wie gross ist denn die grösste Tabelle?
Ich bin bei Puretec und habe einen Exclusivserver. Ich mache das mit einem Scirpt, welches die Tabellen einzeln in ein Verzeichnis auf dem Server direkt lädt. Dann hole ich sie per FTP zu mir. Das scirpt sieht so aus:
<?php
$host = "localhost";
$db = "nichtsowichtig";
$dbuser = "ich";
$dbpw = "überhauptnichtinteressantausserfürhacker;-)";
MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($db) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$path = getenv('DOCUMENT_ROOT')."/verzeichnis";
$result = MYSQL_QUERY("SHOW TABLES");
$numrow = MYSQL_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$table = MYSQL_RESULT($result,$i);
echo "$table ... ";
system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$table.sql.gz",$path));
echo "DONE\n\n";
}
MYSQL_CLOSE();
?>
Schorsch
04.01.2003, 16:21
Original geschrieben von pogo
Hast Du schon Deinen Host gefragt, wie Du die DB sichern kannst?
jep habe ich die sagen ich solle ein "ticket" schreiben. Das dauert dann allerings immer ein paar Wochen bis die das bearbeiten, irgendwann bearbeitet es dann eineer und schiebt den dump auf meinen webspace.
Das ist mir echt zu blöd, daher will ich das selbst erledigen.
Original geschrieben von belorofon
Bei welchem Hoster bist Du denn? Und wie gross ist denn die grösste Tabelle?
Ich bin bei Puretec und habe einen Exclusivserver. Ich mache das mit einem Scirpt, welches die Tabellen einzeln in ein Verzeichnis auf dem Server direkt lädt. Dann hole ich sie per FTP zu mir. Das scirpt sieht so aus:
bin bei xtserver.net :(
meine größte tabelle ist die "searchindex" >> 48,6 MB
Also den Searchindex kannst später wieder neu erstellen
den brauch man nicht unbedingt zu sichern
Dieses Script geht auch. Es sichert die DB in gepacktes Dump-File (dump.sql.gz) welches du im Root-Verzeichnis findest.
<?php
// Bitte hier Ihre Daten eintragen
$host= '';
$user= '';
$pass= '';
$db= '';
// Befehl ausführen und in Zipfile speichern
system(sprintf(
'mysqldump --opt -h %s -u %s -p%s %s | gzip > %s/dump.sql.gz',
$host,
$user,
$pass,
$db,
getenv('DOCUMENT_ROOT')
));
echo '+DONE';
?>
Wie Trekkie schon schrieb, kannst du den Suchindex leeren und ihn später neu erstellen.
Zum Zurückspielen benutze ich folgendes Script:
<?php
// Bitte hier Ihre Daten eintragen
$host= '';
$user= '';
$pass= '';
$db= '';
// Befehl ausführen
system(sprintf(
'mysql -h %s -u %s -p%s %s < ./dump.sql',
$host,
$user,
$pass,
$db
));
echo '+DONE';
?>
Vorher musst du das gesicherte Dump entpacken und ins Root uppen.
Hi,
versuchs mal hiermit. (http://www.sstienemann.de/mysqlfront/index.html)
MFG
CMB
Schorsch
06.01.2003, 18:16
danke für die tips leute, werde das mal in ruhe ausprobieren!
bin ja mal gespannt ob dann die timeouts ausbleiben :p
Gruß,
Schorsch
Ist sehr einfach, denn meine DB ist so groß und ich sichere die jeden tag :)
Es gibt 2 Möglichlkeiten ...
1. Über einen Shell zugang !
Sichern ...
mysql -hlocalhost -uDBUsername -pDBPasswort dbDBName < backup.sql
Einspielen ...
mysqldump -hlocalhost -uDBUsername -pDBPasswort dbDBName > backup.sql
Um das man dann nicht so viel Downloaden zu muss ( Traffic kostet ) kannste die Daten auch mit GZIP Packen !
Packen in GZIP ...
gzip -c backup.sql > backup.sql.gz
Entpacken auf dem Server ...
gzip -d backup.gz
---------------
2. Mit dem MySQL Commander !
Damit geht das auch und ist ein Kompletter Deutscher Script !
Sollte dein WebSpace eine Rechenzeitbeschränkung haben, dann kannste die Tabellen die Supergroß sind damit auch Teilen und sichern :)
Download:
http://www.kuehrig.de/mysqlcommander2.zip
Um das man dann nicht so viel Downloaden zu muss ( Traffic kostet ) kannste die Daten auch mit GZIP Packen !
Blos nen Hacken setzten bei Backup im Commander !
bye
Smoker
Schorsch
10.01.2003, 00:55
Hi,
also, es ist zum verrückt werden :(
MySQL Commander braucht PHP 4.1, auf dem Server meines Anbieters ist nur 4.0.6
MySQL-Front 2.5...dazu bräuchte ich externen Zugriff auf die DB....leider nicht erlaubt.
Die beiden Scripte die hier gepostet wurden funzen ebenfalls nicht, sagen zwar beide nach ca. 0,2 Sekunden das alles bestens gelaufen sei, allerdings finde ich keine dumps vor (hätte mich auch gewundert in der schnelle).
Dann Life-Chat mit einem "Support" Mitarbeiter meines Hosters XTServer.NET (http://www.xtserver.net) zwecks SSH Zugang:
Ralf N**** (00:14): Hallo, mein Name ist Ralf N****. Wie kann ich ihnen Helfen?
Stefan F**** (00:14): Hallo
Ralf N**** (00:15): guten abend
Stefan F**** (00:15): ich möchte per ssh auf den server zugreifen
Ralf N**** (00:15): welchen?
Stefan F**** (00:15): e****m.x***c.de
Stefan F**** (00:15): allerdings habe ich vergessen was ich als benutzernamen eingeben muss
Stefan F**** (00:15): der benutzername vom ftp login funzt nicht
Ralf N**** (00:15): normal lassen wir keine ssh zugänge zu.
Stefan F**** (00:16): hmm früher ging das aber
Ralf N**** (00:16): das kann durchaussein. ist aber ein zu grosses sicherheits risico
Stefan F**** (00:16): Haben Sie sonst eine Lösung wie ich meine Datenbank sichern kann ?
Ralf N**** (00:17): per phpmyadmin einen dump machen
Stefan F**** (00:17): über phpMyAdmin kommt immer ein Timeout
Stefan F**** (00:18): Wissen Sie eine andere Lösung ?
Ralf N**** (00:19): mhh. augenblicklich nicht.
Scheint als ob die Lage hoffnungslos ist oder ?!
Gruß,
Schorsch
Original geschrieben von Schorsch
Die beiden Scripte die hier gepostet wurden funzen ebenfalls nicht, sagen zwar beide nach ca. 0,2 Sekunden das alles bestens gelaufen sei, allerdings finde ich keine dumps vor (hätte mich auch gewundert in der schnelle).
Sieht so aus, als sei EXEC() deaktiviert.
Frag mal deinen Hoster ob er das für dich aktivieren kann.
Mussten wir auch machen. Nur lange genug nerven ;)
phpMyAdmin empfehlen wohl alle Hoster. Unsere Datenbank hat (mit SearchIndex) 320 MB. Geht natürlich auch nicht über den Browser...
Sascha
ZeroCool
10.01.2003, 13:57
Original geschrieben von Schorsch
Hi,
also, es ist zum verrückt werden :(
Die beiden Scripte die hier gepostet wurden funzen ebenfalls nicht, sagen zwar beide nach ca. 0,2 Sekunden das alles bestens gelaufen sei, allerdings finde ich keine dumps vor (hätte mich auch gewundert in der schnelle).
Scheint als ob die Lage hoffnungslos ist oder ?!
Gruß,
Schorsch
Moin.
Also die beiden Scripte funktionieren 100%ig. Ich nutze die Scripte in etwas geänderter Form auch zum sichern und zurückspielen. Das BackUp-Script läuft als Cron-Job und sichert meine Datenbank 1 mal täglich. Wenn die Scripte bei Dir nicht laufen wird es wohl am Server liegen.
Gruss Robby
Am Besten geht so, wie ich hier geschrieben habe ...
http://www.vbulletin-germany.com/forum/showthread.php?s=&action=showpost&postid=26666#26666
bye
Smoker
Schorsch
17.02.2003, 14:54
hi,
mittlerweile ist das auf meinem neuen server kein problem, geht per SSH in sekunden :)
aber bei meinem alten provider war da echt nix zu machen, habe es dann letztlich per hand gesichert, immer in kleine abschnitte unterteilt damit es keine timeouts gibt.
Ich habe ja auch einen eigenen Server und kann es über SSH machen, aber da gibt es Probleme und dazu 1 kleines und 1 Schlimmes !!!
1. Das kleine ...
Dauert länger, da man das .sql File in einem extra schritt Packen muss.
2. Schlimme ...
SSH mach alles im ASCII Modus und somit, sind wenn du das Backup einspielen willst bzw. es eingespielt hast alle Binär Daten ( Anhänge / Custom Avatare ) Zerstört und gehen nicht mehr !
Bei diesem Hack ist es so ... er erkennt das und Speichert diese Binär Daten auch Binär und nach dem einspielen geht alles noch :)
bye
Smoker
Original geschrieben von Smoker
SSH mach alles im ASCII Modus und somit, sind wenn du das Backup einspielen willst bzw. es eingespielt hast alle Binär Daten ( Anhänge / Custom Avatare ) Zerstört und gehen nicht mehr !
Also wenn man sich auf der Shell nen SQL Dump zieht, sich dann diesen Binär per FTP sichert sind sicherlich keine Binärdaten zerstört.
mfg Znaper
@Znaper
Das ist eben nicht der Fall, denn das SSH erstellt den Dump schon im ASCII Modus !
Dazu sind die Tabellen dann auch viel kleiner als im Orginal, da die Binär Daten beim SSH sichern schob verstümmelt werden :(
Weis ich aus leidlicher eigener Erfahrung ! :(
bye
Smoker
Der Hack ruft auch nur die jeweiligen Programme mysql und mysqldump auf, die du genauso mit den selben Parametern in SSH ausführen kannst.
Genau wie du in SSH auch in einem Schritt den Dump erzeugen und packen kannst (der Hack verwendet überflüssigerweise zwei Schritte, einen für den Dump und einen zum Packen!).
Dieser Befehl in SSH reicht für den komprimierten Dump:
mysqldump -l --add-drop-table -hlocalhost -umysqluser -pmysqlpasswort datenbankname 2>/home/dump/errors.txt | gzip -c > /home/dump/dump.sql.gzHinweis: in "/home/dump/errors.txt" landen eventuelle Fehlermeldungen. Den Parameter (ab "2>") kann man natürlich weglassen.
Mystics
@Mystics
das komische ist nur das bei mir alles was Binär ist und über SSH geschichert ist nach dem einspielen kaputt ist und bei dem Hack alles wunderbar geht nach dem einspielen.
bye
Smoker
Original geschrieben von Smoker
@Znaper
Das ist eben nicht der Fall, denn das SSH erstellt den Dump schon im ASCII Modus !
Dazu sind die Tabellen dann auch viel kleiner als im Orginal, da die Binär Daten beim SSH sichern schob verstümmelt werden :(
Weis ich aus leidlicher eigener Erfahrung ! :(
bye
Smoker
Hatte noch nie ein Problem damit, hab inzwischen schon einige hundert Dumps gemacht.
Bei mir läuft ein selbst gebasteltes Backupshellscript, dass jede halbe Stunde nen gepackten Dump macht und dabei hatte ich noch nie ein Problem diesen zurückzuspielen.
Die Avatars und so haben bisher immer gefunzt und diese liegen auch im Binärmodus in der DB.
mfg Znaper
eifelaki
12.06.2003, 11:32
also ich hab jetzt sovieles gelesen über die sicherung der datenbank. aber wenn ich ehrlich bin hab ich von all dem nix verstanden. soviel möglichkeiten, und wohl keine die wohl so einfach funktioniert. und dann hab ich mal ne frage, was issn mit "Über einen Shell zugang !" gemeint?
gruß aki
Shell=sowas wie DOS (einfach gesagt).
Dort kannst du ganz einfach mittels eines befehles ein dump (Backup) deiner Datenbank erstellen und dies dann via Http oder FTP runtersaugen.
Im Tips&Triks Forum gab es mal ein kleines script das supereinfach ein solchen dump erstellt, hatte das auch mal und war sehr zufrieden.
firelooper
10.07.2003, 09:58
hast du das scipt das in meiner sig ist schon mal getestet damit sichere ich eine 80mb grosse datenbank auch für ein vb forum und das geht wunderbar.
Odysseus
13.07.2003, 13:14
Original geschrieben von eifelaki
was issn mit "Über einen Shell zugang !" gemeint?
Damit ist gemeint, dass du von deinem Rechner aus über ein SSH-Client-Programm über das SSH-Protokoll per "Fernsteuerung" auf dem Server arbeiten kannst.
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.