Ich habe das jetzt ein wenig gesucht.mysqldump funktioniert einfach nicht
Ich habe genau diesen Befehl von der Kommandozeile aus und ich weiß, es funktioniert:
mysqldump --user=user --password=password db > C:\\db.sql
jedoch in Java, überspringt es genau richtig und sagt: die Sicherung fehlgeschlagen. Was vermisse ich ?:
Process exec = Runtime.getRuntime().exec("mysqldump --user=user --password=password db > C:\\db.sql");
int processComplete = exec.waitFor();
if(processComplete == 0)
log.info("Backup successful.");
else
log.info("Backup failed. STOP GETTING HERE :(");
Irgendwelche Ideen? Ich habe mir hier andere Fragen angeschaut, einschließlich der Verwendung eines ProcessBuilders, aber nichts hat funktioniert.
bearbeiten
versucht, dies:.
exec = Runtime.getRuntime() exec ("C: \ Programme \ MySQL \ MySQL Server 5.5 \ bin \ mysqldump.exe --user = user --password = Passwort db> C: \ db.sql ");
Kein Glück auch nicht.
Ich habe immer versucht/statt \ und hatte kein Glück. Ich habe MySQL neu gestartet und Berechtigungen überprüft.
Was ist das Arbeitsverzeichnis in der Befehlszeile und was ist das Arbeitsverzeichnis, wenn Sie versuchen, den Befehl von Java auszuführen? – Shadow
Arbeitsverzeichnis mit dem Cmd ist das C: und der Befehl von Java ist buchstäblich, was Sie sehen. – user2124871
Auch - Warum bekomme ich Anfragen zu schließen und downvoted? Zumindest erkläre es ... – user2124871