Warum erhalte ich diese Fehlermeldung, wenn Sie versuchen, verwenden Sie mysqldump-Befehl?
Ich will back-up-und roll back-back up auf einer Datenbank, und ich bin versucht zu sehen, was falsch ist:
'mysqldump' nicht erkannt wird als Befehl interne oder externe, betriebsbereiten Programm oder batch-Datei.
Den oben genannten ist es, was ich in der Datei, die exportiert wird. Und das ist, was ich ausführen:
$database = 'logindb';
$backup = $location.'/'.$database.'_backup_'.date('Y').'_'.date('m').'_'.date('d').'.sql';
exec("mysqldump --opt -h localhost -u root logindb > $backup 2>&1", $output);
print_r($output);
Als $location
meine backup-Ordner. Also, warum bekomme ich diesen Fehler ?
Und als zusätzliche info, ich Teste auf localhost mit XAAMP, der Apache-server läuft und MySQL läuft als wel.
- Klingt wie
mysqldump
kann nicht gefunden werden: es ist entweder nicht installiert (ich weiß nicht, ob Sie isntall es getrennt ist oder dass diese wäre das sehr merkwürdig für einen stack), oder vielleicht Ihre Benutzer (apache?) haben nicht die Rechte dafür? - Wenn Sie versuchen, tun dies auf shared-hosting
mysqldump
können auch deaktiviert werden. - Ich Teste auf localhost ersten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil
mysqldump
ist nicht in der httpd-user Weg.Ich davon ausgehen, Sie arbeiten in Linux - (oder UNIX).
Wissen, Hexe Verzeichnis enthält
mysqldump
Sie ausführen könnenwhereis mysqldump
.Dann haben Sie zwei Möglichkeiten:
Check für mysqldump Verzeichnis in die PATH-Umgebungsvariable des httpd-Benutzer (in der Regel
www-data
Benutzer für apache-server). Und im WEG ist es nicht vorhanden.Außerdem können Sie Folgendes ausführen
mysqldump
mit dem vollständigen Pfad:Wie diese:
c:/xampp/mysql/bin/mysqldump ...
, dort fand ich diemysqldump.exe
- Datei. Aber was würde passieren, wenn ich dieses auf shared server ? Ich werde Sie nicht benötigen, dass der Pfad richtig ? Und wie würde ich ein rollback für die db ?Den Fehler nicht ein mysqldump Fehler, es ist ein Windows Fehler, der sagt, dass er nicht versteht, was
mysqldump
bezieht. Um das zu beheben kann man entweder den Pfad zu mysqldump ausführbare Datei Umgebungsvariablen oder ausführen der exec-Befehl mit dem vollständigen Pfad zum mysqldump ausführbare Datei (die Sie hier finden können in XAMPP mysql Ordner).