Datenbank Sicherung MySQL über exec()

Hallo allerseits,

ich habe folgendes Script, das mir eine Datenbanksicherung im selben Verzeichnis ablegen soll:

<?php $mysqlDump = 'mysqldump ';
$mysqlDump .= 'jax '; $mysqlDump .= '-hlocalhost '; $mysqlDump .= '-ubenutzer '; $mysqlDump .= '-ppasswort '; $mysqlDump .= '\> sicherung.sql'; exec($mysqlDump); ?\> Die Datei wird sicherung.sql wird angelegt, ist jedoch leer. Wenn ich die mysqldump direkt über die Eingabeaufforderung ausführe, werde ich vor dem Anlegen der Datei nochmals nach dem Passwort gefragt, obwohl es in der Anfrage bereits angegeben ist...das kann doch eigentlich kein syntaktischer Fehler sein oder? Bin dankbar für jede Hilfe. Grüße peeayoo

Hallo,

$mysqlDump .= '-ppasswort ';

–password=geheim
-p hat keine Optionen…

Alexander

mit „–password=geheim“

wird ebenfalls eine leere sql datei erzeugt…

stimmen denn die anderen Parameter?

Danke dir.

Hallo,

mit „–password=geheim“

wird ebenfalls eine leere sql datei erzeugt…

stimmen denn die anderen Parameter?

Ja, sollten eiengtlich stimmen, normalerweise sollen zwar die Optionen vor die DB, aber so rum geht es auch.

Hänge mal 2>&1 noch ganz ans Ende und schaue nach, ob eine Fehlermeldung in der Datei landet. Findet der mysqldump ? Evtl. musst du da den kompletten Pfad angeben.

Alexander

folgender String:
mysqldump -hlocalhost -uroot --password=geheim jax > test.sql

->test.sql (leer)

folgender:
mysqldump -hlocalhost -uroot --password=geheim jax 2>&1

->nichts passiert

ist das nicht strange?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

mit „–password=geheim“

wird ebenfalls eine leere sql datei erzeugt…

stimmen denn die anderen Parameter?

Ja, sollten eiengtlich stimmen, normalerweise sollen zwar die
Optionen vor die DB, aber so rum geht es auch.

Hänge mal 2>&1 noch ganz ans Ende und schaue nach, ob eine
Fehlermeldung in der Datei landet. Findet der mysqldump ?
Evtl. musst du da den kompletten Pfad angeben.

Alexander

folgender String:
mysqldump -hlocalhost -uroot --password=geheim jax >
test.sql

->test.sql (leer)

folgender:
mysqldump -hlocalhost -uroot --password=geheim jax 2>&1

->nichts passiert

ist das nicht strange?

so ich habs…es lag tatsächlich an der Pfadangabe. ich musste jeweils die kompletten Pfadangaben ergänzen. Danke dir Alexander.

Hallo,

folgender:
mysqldump -hlocalhost -uroot --password=geheim jax 2>&1

->nichts passiert

mysqldump -hlocalhost -uroot --password=geheim jax >test.sql 2>&1

war da mit am Ende ergänzen gemeint, dann wäre die Fehlermeldung auch in test.sql gelandet :smile:

ist das nicht strange?

so ich habs…es lag tatsächlich an der Pfadangabe. ich musste
jeweils die kompletten Pfadangaben ergänzen. Danke dir

Dann ist ja gut :smile:

Alexander