2013-02-16 19 views
0

我需要對mysql進行數據庫備份,但它應該具有某些功能。 備份應該在java swing中單擊一個按鈕來執行。如何使用自定義名稱和信息創建MYSQL備份

路徑:路徑應該由我在保存的地方聲明(例如c://備份),但路徑應該是這樣的,如果我將java的jar文件提供給其他的應該沒有保存問題用戶,哪個路徑最好用呢?

名稱:名稱將由3個字符串組成,其中一個是基本字符串,另一個是Datetime格式字符串,然後是第三個字符串。 (例如FileName-2012-02-12 09:00:00-名稱)。

我該如何做到這一點?有人可以指導我

我試圖用mysqldump代碼,但仍然無法完成。

String dbName = "dth"; 
     String dbUser = "root"; 
     String dbPass = "root"; 

     String executeCmd = ""; 
     executeCmd = "mysqldump -u " + dbUser + " -p" + dbPass + " " + dbName + " -r C:\\backup.sql"; 

     Process runtimeProcess = Runtime.getRuntime().exec(executeCmd); 
     int processComplete = runtimeProcess.waitFor(); 
     if (processComplete == 0) { 
      System.out.println("Backup taken successfully"); 
     } else { 
      System.out.println("Could not take mysql backup"); 
     } 

    } catch (Exception e) { 
     System.out.println(e.getMessage()); 
    } 

我嘗試了上面的代碼,但我無法完成它,一直給我

CreateProcess的錯誤= 2,系統找不到指定的文件 錯誤。

我已經通過在位置上創建一個.sql文件來嘗試它,但我仍然得到相同的錯誤。

+0

該解決方案已經張貼在這裏 http://stackoverflow.com/questions/14924770/simple-backup-and-restore-for-mysql-database-from-java – chettyharish 2014-03-10 23:32:56

回答

0

我只是使用mysqldump命令。也許你甚至可以從你正在編寫的任何程序中調用它。語法很簡單:

mysqldump -u <user> -h <host> -p<password> <dbname> > <filename>

這將只是把整個數據庫到該文件作爲SQL腳本。

+0

其中應在文件中保存?所以當我給一個人一個罐子時,它不應該給任何問題。 – chettyharish 2013-02-16 11:06:24

+0

通常我使用/ tmp,因爲它對每個人都是可寫的。 – 2013-02-16 12:41:43

相關問題