Als Junior-Administrator muss ich jeden Tag Daten sichern und weiß nicht, wie ich automatische Aufgaben einrichte. Daher verlasse ich mich grundsätzlich auf meine Hände. Das ist nicht nur umständlich, sondern stellt auch nicht sicher, dass der A1 -Influenzavirus ist isoliert und ich habe nichts mit meinen Händen zu tun.
Schreiben Sie also eine Java-Klasse und laden Sie sie in die automatisch ausgeführte Aufgabe des SPRING-Programms. Die Idee besteht darin, Java zu verwenden, um das Befehlssymbol des Systems aufzurufen und den Befehl mysqldump auszuführen.
·Erstens unter Windows:
Nur zur Erinnerung an alle:
Einige Leute empfehlen die Verwendung von: „mysqldump --uroot --p123456 --opt“. Aber es gelang mir schließlich nicht, diese Schreibmethode zu verwenden: „mysqldump --user=root --password=123456 --opt“
Es scheint vollständig geschrieben zu sein.
·Dann unter dem Linux-System:
Das Problem, auf das viele Menschen hier stoßen, besteht darin, dass das Programm keinen Fehler meldet, der Befehl nicht ausgeführt wird und die SQL-Datei nicht generiert wird. Ich habe begonnen, die folgenden Schreibmethoden zu verwenden: java.lang.Runtime.getRuntime().exec(new String[] { mysql });
java.lang.Runtime.getRuntime().exec(new String[] { "shell "+mysql });
java.lang.Runtime.getRuntime().exec(new String[] { "/bin/bash "+mysql });
java.lang.Runtime.getRuntime().exec(new String[] { "/bin/bash/shell "+mysql });
Keiner von ihnen war erfolgreich. Schließlich habe ich diese Schreibmethode ausprobiert und sie war erfolgreich:
java.lang.Runtime.getRuntime().exec(new String[] { "sh", "-c", mysql });
Voraussetzung ist, dass das MySQL-Bin-Verzeichnis zu den Umgebungsvariablen hinzugefügt wird.