Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    [Java] Eseguire backup database mysql

    Ciao a tutti,

    Ho provato senza successo ad eseguire mysqldump (prima come query..sbagliando ovviamente), così l'ho eseguito con Runtime..ma nulla.

    codice:
    	  try {
    	    Runtime r = Runtime.getRuntime();
    		Process p=null;
    		
    		p = r.exec("mysqldump --single-transaction --all-databases > backup.txt");
    	  } catch(Exception e) { e.printStackTrace();}
    Cosa sbaglio?



    Grazie!! ^^

  2. #2
    1) Viene lanciata un'eccezione?
    2) Il percorso completo al file mysqldump
    3) username e password?
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da R@ve M@ster
    1) Viene lanciata un'eccezione?
    2) Il percorso completo al file mysqldump
    3) username e password?
    1) No, ecco la cosa che mi spiazza..
    2)
    codice:
    C:\Programmi\MySQL\MySQL Server 5.1\bin
    3) Li avevo tolti prima di postare, comunque li ho disposti in questo modo:

    codice:
    "mysqldump --single-transaction --all-databases > backup.txt -u nome -ppwd"
    Ah, ci tengo a precisare che ho svolto l'operazione dal DOS ed il tutto funzionava senza alcun problema (la password presenta simboli, come '%' ad esempio.. ma da console tutto funzionava).

    Grazie!! ^^

  4. #4
    Per il secondo punto intendevo dire di chiamare l'exec passando tutto il percorso, non solo il comando.
    Al mio segnale... scatenate l'inferno!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da R@ve M@ster
    Per il secondo punto intendevo dire di chiamare l'exec passando tutto il percorso, non solo il comando.
    Fatto, ma..
    codice:
    "C:\\Programmi\\MySQL\\MySQL Server 5.1\\bin\\mysqldump --single-transaction --all-databases > backup.txt -u name -ppwd");
    se metto l'escape (come ora insomma), fa come prima.. non avvia nulla ma non lancia eccezioni.

    Grazie! ^^

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    up..

    Nessuno sa darmi una mano? ^^

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    la stringa per eseguire mysqldump... prova a modificarla così:

    codice:
    cmd /k start mysqldump ...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Modificata..
    compare il file, ma il peso è di 0 byte..

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    a me funzionano perfettamente sia questa:

    codice:
    public static void main (String[] args) {
            String cmd = "cmd /k \"D:\\Programmi\\MySQL\\MySQL Server 5.1\\bin\\mysqldump.exe\" -uuser "+
                    "-ppassword -r C:\\Users\\Andrea\\Desktop\\javadump.txt test";
            try {
                Runtime.getRuntime().exec(cmd);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
    che senza cmd /k
    codice:
    public static void main (String[] args) {
            String cmd = "\"D:\\Programmi\\MySQL\\MySQL Server 5.1\\bin\\mysqldump.exe\" -uuser "+
                    "-ppassword -r C:\\Users\\Andrea\\Desktop\\javadump.txt test";
            try {
                Runtime.getRuntime().exec(cmd);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
    non ho provato se va anche con la breve ">" e file di destinazione.
    Funziona egregiamente anche con / al posto del backslash escapato.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.