簡體   English   中英

使用Java備份MySQL數據庫

[英]Backup mysql database using java

我的應用程序包含一個用於備份的Java框架。我在公共類中添加以下代碼並調用它。我的需要是在應用程序中創建MySQL轉儲文件。如何使用Java代碼來做到這一點,下面的代碼集將給出您在我的程序中到底做了什么。

  public boolean backupDB() {

    connection = (Connection) dbSource.getConnection();


    String executeCmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump\"  -u root -p pass macfast -r backup.sql";
    Process runtimeProcess;
    try {

        runtimeProcess = Runtime.getRuntime().exec(executeCmd);
        int processComplete = runtimeProcess.waitFor();

        if (processComplete == 0) {
            System.out.println("Backup created successfully");
            return true;
        } else {
            System.out.println("Could not create the backup");
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return false;
}

我叫這個

 private void backupbtnActionPerformed(java.awt.event.ActionEvent evt) {
    backupDB();
}

我嘗試運行時卡住了。運行后我無法關閉框架。只能通過taskmanager。為什么?

確保mysqldump在系統PATH環境變量上

該錯誤表明它找不到該程序,這意味着它很可能在工作目錄中查找。

您為什么不嘗試使用實用程序的完整路徑?

/<fullpath>/mysqldump -u

似乎問題在於...程序文件...之間的空白,您需要將路徑包含在“

更改String executeCmd = "C:\\\\Program Files\\\\MySQL\\\\MySQL Server 5.1\\\\bin\\\\mysqldump -u root -p pass macfast -r backup.sql";

String executeCmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump\"  -u root -p pass macfast -r backup.sql";

暫無
暫無

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

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