簡體   English   中英

從Java備份MySQL時出錯

[英]Error in backup of MySQL from Java

我已經開發了一個Java應用程序,它已經處於最后階段。

問題是我無法使用Runtime.getRuntime().exec()執行mysqldump。

try {
    String[] command = new String[] {
        "cmd.exe",
        "/c",
        "mysqldump --host=" + host + " --user=" + dbuser + " --password=" + dbpass + " " + dbname + " > " + filename
    };
    Process runtimeProcess = Runtime.getRuntime().exec(command);
    int ProcessComplete = runtimeProcess.waitFor();
    if (ProcessComplete == 0) {
        JOptionPane.showMessageDialog(null, "Database backup has been done successfully");
    }
    else {
        JOptionPane.showMessageDialog(null, "Database backup was unsuccessfull");
        JOptionPane.showMessageDialog(null, command);
    }
}
catch (IOException | InterruptedException exc) {
    Logger.getLogger(Backup.class.getName()).log(Level.SEVERE, null, exc);
}

誰能幫我這個?

我在Windows中嘗試了您的代碼,對我來說效果很好。

打開cmd ,鍵入mysqldump然后按Enter。

如果執行成功,則意味着如果數據庫配置正確,則代碼應該可以正常工作。

如果您無法將'mysqldump' is not recognized as an internal or external command則必須在環境變量中設置MySQL路徑,或者在Java代碼中為mysqldump指定完整路徑,如下所示:

String[] command  = new String[] {
    "cmd.exe",
    "/c",
    "c://mysql/bin/mysqldump --host=" + host + " --user=" + dbuser + " --password=" + dbpass + " " + dbname + " > " + filename
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM