Java 調用Mysql dump 備份數據庫

javap 9年前發布 | 2K 次閱讀 Java

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

try {

String name = sdf.format(new Date()); String filePath = System.getProperty("user.dir") + "//" + name + ".sql";

// 系統執行器 Runtime rt = Runtime.getRuntime();

// 導出數據庫語句 StringBuffer cmd = new StringBuffer(); cmd.append("mysqldump -u"); cmd.append(ServeConfig.dbUser); cmd.append(" -p"); cmd.append(ServeConfig.dbPass); cmd.append(" --set-charset=utf8 "); cmd.append(ServeConfig.dbName);

// 執行導出獲取輸入流 Process child = rt.exec(cmd.toString()); InputStream in = child.getInputStream(); InputStreamReader ir = new InputStreamReader(in, "utf8");

// 輸出文件 FileOutputStream fo = new FileOutputStream(filePath); OutputStreamWriter os = new OutputStreamWriter(fo, "utf8");

// 開始讀取數據 char[] temp = new char[1024000]; int len = 0; while ((len = ir.read(temp)) > 0) { os.write(temp, 0, len); os.flush(); }

// 別忘記關閉輸入輸出流 in.close(); ir.close(); os.close(); fo.close();

// 將文件發送到備份服務器 FileUpLoad upload = FileUpLoad.createFileUpLoad(ServeConfig.backAddr, new File(filePath)); upload.tryStart(); upload.waitFinish(); upload.doClose();

} catch (Exception e) { e.printStackTrace(); }</pre>

 本文由用戶 javap 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!