mysqldump Problem

redlama

Erfahrenes Mitglied
Hallo!

Ich habe ein Problem mit mysqldump und komme irgendwie nicht weiter.
Ich habe schon ge:google:t, was aber nicht wirklich was gebracht hat.
Kann mir vielleicht einer von Euch helfen?
Der Server, auf dem ich den Befehl absetze, hat SuSE 9.0 Professional als OS.
Die MySQL Version ist 4.0.15
Und mein Befehl (wird durch ein PHP Script ausgeführt) sieht so aus:
PHP:
system(sprintf("mysqldump --opt -h localhost -u Nutzername -pPasswort Datenbankenname Tabellenname | gzip > %s/sicherung.sql.gz", backup))
Wobei Nutzername, Passwort, Datenbankenname, Tabellenname natürlich durch die jeweils entsprechenden Werte ersetzt sind.

redlama
 
Hallo,

1.) Deine Befehlssyntax stimmt nich ganz.
Probier mal:

Code:
 system(sprintf("mysqldump --opt -h localhost -u Nutzername -pPasswort 
Datenbankenname Tabellenname > sicherung.sql | gzip %s/sicherung.sql", backup))

Müsste es nicht $backup heißen?
Stimmt der Pfad auch?
was für ein Fehler kommt den?

Gruß

RedWing
 
Hmm, ... da passiert genauso viel wie vorher!
Das mit "backup" ist schon ok, das ist ja nur der Name des Pfades und ja, der stimmt!
Fehler kommt leider gar keiner.
Ich habe gerade gesehen, dass er die Datei zwar anlegt, aber es steht nur folgendes drin:
Code:
-- MySQL dump 9.09
--
-- Host: localhost    Database: Datenbankenname
---------------------------------------------------------
-- Server version	4.0.15
Und ja, es existiert eine Tabelle und diese hat fast 2000 Datensätze (nur falls daran ein Zweifel bestanden hat :))!

redlama
 
Hallo,
hast du einen ssh Zugang zum Server?

Dann gib den Befehl mal händisch an der Konsole ein und schau was dann passiert, evnt.
auch mal den Fehler posten.

Gruß

RedWing
 
Leider nicht, sonst hätte ich es schon versucht, ich muss mich also ohne ssh Zugang mit dem Fehler herumärgern.
Hast Du sonst noch eine Idee?

redlama
 
Sorry,
habs grad nochmals ausprobiert

Code:
mysqldump --opt -h localhost -u user -p  blackboard messagedatabase | gzip > blackboard.sql.gz
funktioniert tatellos bei mir, klar pipe liest von stdin ein.
Sorry about that...

Ne andre Idee wäre noch sich den Output über den Rückgabewert der system Funktion
anzeigen lassen. Soviel ich weiß gibt sie nen output als string zurück, ausserdem
kannst du dir den returnvalue des Kommandos glaub ich auch als "call by reference" als
integer zurückgeben lassen...

Hoffe das hilft dir weiter...

Gruß

RedWing
 
RedWing hat gesagt.:
Sorry,
habs grad nochmals ausprobiert

Code:
mysqldump --opt -h localhost -u user -p  blackboard messagedatabase | gzip > blackboard.sql.gz
funktioniert tatellos bei mir, klar pipe liest von stdin ein.
Sorry about that...
Kein Problem, ...
RedWing hat gesagt.:
Ne andre Idee wäre noch sich den Output über den Rückgabewert der system Funktion
anzeigen lassen. Soviel ich weiß gibt sie nen output als string zurück, ausserdem
kannst du dir den returnvalue des Kommandos glaub ich auch als "call by reference" als
integer zurückgeben lassen...

Hoffe das hilft dir weiter...
Wenn ich jetzt noch wüsste, wie ich das mache, dann würde es mir sicher weiterhelfen, ... :-(

redlama
 
Das hat mich leider auch nicht weiter gebracht, aber trotzdem erstmal danke!
Werde weiter versuchen, es hinzubekommen.
Falls jemand doch noch eine Idee hat bzw. einen Fehler findet, immer her damit!

redlama
 
So, habe jetzt herausbekommen, wie es geht:
PHP:
system(sprintf("mysqldump -h localhost -u Nutzername -pPasswort Datenbankenname Tabellenname | gzip > backup/sicherung.sql.gz"));

redlama
 

Neue Beiträge

Zurück