+MYSQL Updateproblematik
TomIRL
- php
0 André Laugks0 TomIRL
0 fastix®0 TomIRL
0 Sven Rautenberg0 TomIRL
Einen wunderschönen Guten Abend,
Nach dem ich heute mal wieder ein Backup gemacht habe und ich wieder mal geärgert habe, das PHPMyadmin mich beim Im- oder Export der Daten wieder mal im Stich läst, glaubte ich mich zu erinnern, dass vor kurzem hier eine Lösung gepostet wurde um möglichst schnell die Daten zu sichern und wieder zu einzuspielen.
Wenn meine müden Sinne mich getäuscht haben sollten, dann könnte mir vielleicht jemand auf die Sprünge helfen das Ding selber zu schreiben.
Die Importproblematik bei Mysql löse ich zur Zeit mit folgendem Skript:
<?php
// Bitte hier Ihre Daten eintragen
$host= 'host';
$user= 'user';
$pass= 'pw';
$db= 'DB';
// Befehl ausführen
system(sprintf(
'mysql -h %s -u %s -p%s %s < ./sql.sql',
$host,
$user,
$pass,
$db
));
echo '+DONE';
?>
Wobei ich trotz Manual Verständnissprobleme habe was dieses Skript eigentlich tut.
Auch hierzu ein paar Tips?
Vielleicht könntet Ihr mir ja mal ein paar Denkanstöße geben in welche Richtung ich überlegen sollte.
Das Skript sollte nach Möglichkeit folgende Funktionen haben:
Naja ich sehe schon wird wohl was Größeres und ich glaube ich muß es wohl doch selber bauen.
Vielen Dank TomIRL
Hallo!
<?php
// Bitte hier Ihre Daten eintragen
$host= 'host';
$user= 'user';
$pass= 'pw';
$db= 'DB';// Befehl ausführen
system(sprintf(
'mysql -h %s -u %s -p%s %s < ./sql.sql',
$host,
$user,
$pass,
$db
));
echo '+DONE';
?>
Diese Script importiert SQL-Anweisungen, die in der Datei "sql.sql" stehen, in den MySQL-Datenbankserver.
Du führst den Clienten MySQL aus.
mysql -h host -u user -ppw DB < ./sql.sql
Wenn Du nicht die DB angibst, muß ich der sql.sql
use DB
stehen, also die Datenbank selectiert werden.
Mit dem Tool mysqldump kannst Du eine Datenbank, mehrere Datenbanken oder auch nur Tabellen in eine Datei als SQL-Anweisungen exportieren.
mysqldump -h host -u user -ppw DB > ./sql.sql
So würdest Du die gesamte Datenbank DB exportieren.
mysqldump -a -h host -u user -ppw > ./sql.sql
So würdest Du alle Datenbanken exportieren.
Die weiteren Parameter (hier: -a) für mysqldump findest Du in der Doku oder über
mysqldump --help
auf der Konsole.
MfG, André Laugks
Vielen Dank ich werde mal ein bischen probieren.
TomIRL
Moin!
http://www.fastix.de/dbbackup.zip
.... geht aber noch nicht unter Windows. (Hab noch nichts wieder dran gemacht.)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Danke Fastix.
Habs mir mal runtergeladen Windows ist nicht so wichtig für mich...
Mal sehn.
Moin!
Nach dem ich heute mal wieder ein Backup gemacht habe und ich wieder mal geärgert habe, das PHPMyadmin mich beim Im- oder Export der Daten wieder mal im Stich läst, glaubte ich mich zu erinnern, dass vor kurzem hier eine Lösung gepostet wurde um möglichst schnell die Daten zu sichern und wieder zu einzuspielen.
Die Lösung war, PHPMyAdmin upzudaten. Alte Versionen haben beim Wiedereinspielen größerer Datenmengen Probleme, neue Versionen haben es nicht mehr.
Jedenfalls entspricht das meinen persönlichen Erfahrungen.
- Sven Rautenberg
Moin Sven,
Vielen Dank auch für Deinen Beitrag.
Die Lösung war, PHPMyAdmin upzudaten. Alte Versionen haben beim Wiedereinspielen größerer Datenmengen Probleme, neue Versionen haben es nicht mehr.
Die neueren haben zwar nicht so große Probleme, aber haben die gleichen Probleme.
Meistens kommt ein Timout welches allerdings nicht zwingend auf PHPMyAdmin zurückzuführen ist, sondern auf ältere PHP Versionen, oder auch nur auf Begrenzung, der Execution Time.
Ich habe jetzt 20 MB Daten zu schaufeln, und dann geht der Myadmin regelmäßig in die Knie.
Obendrein dauert mir das einfach viel zu lange.
Ich werde mal Fastix Skript ausführlich testen und mir Gedanken über ein ganz eigenes Backupsystem machen. Dazu werde ich mir auch mal die Ausführunge vom Andre ausführlich zu Gemühte führen und einiges ausprobieren.
Das von mir gepostet Skript fügt die 20 MB Daten Bspw in unter 3Minuten ein.
Also muß es auch prktikable Lösungen geben.
Viele Grüße TomIRL