????import java.io.BufferedReader; 
????import java.io.File; 
????import java.io.FileOutputStream; 
????import java.io.IOException; 
????import java.io.InputStreamReader; 
????import java.io.OutputStreamWriter; 
????import java.io.PrintWriter; 
????/**
????* MySQL???????
????* 
????*/ 
????public class MySQLDatabaseBackup { 
????/**
????* Java???????MySQL???????
????* 
????* @author GaoHuanjie
????* @param hostIP MySQL?????????????????IP
????* @param userName ?????????????????????
????* @param password ????????????????????
????* @param savePath ??????????????·??
????* @param fileName ???????????????
????* @param databaseName ??????????????
????* @return ????true??????????????????false??
????*/ 
????public static boolean exportDatabaseTool(String hostIP?? String userName?? String password?? String savePath?? String fileName?? String databaseName) throws InterruptedException { 
????File saveFile = new File(savePath); 
????if (!saveFile.exists()) {// ??????????? 
????saveFile.mkdirs();// ????????? 
????} 
????if(!savePath.endsWith(File.separator)){ 
????savePath = savePath + File.separator; 
????} 
????PrintWriter printWriter = null; 
????BufferedReader bufferedReader = null; 
????try { 
????printWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(savePath + fileName)?? "utf8")); 
????Process process = Runtime.getRuntime().exec(" mysqldump -h" + hostIP + " -u" + userName + " -p" + password + " --set-charset=UTF8 " + databaseName); 
????InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream()?? "utf8"); 
????bufferedReader = new BufferedReader(inputStreamReader); 
????String line; 
????while((line = bufferedReader.readLine())!= null){ 
????printWriter.println(line); 
????} 
????printWriter.flush(); 
????if(process.waitFor() == 0){//0 ??????????????? 
????return true; 
????} 
????}catch (IOException e) { 
????e.printStackTrace(); 
????} finally { 
????try { 
????if (bufferedReader != null) { 
????bufferedReader.close(); 
????} 
????if (printWriter != null) { 
????printWriter.close(); 
????} 
????} catch (IOException e) { 
????e.printStackTrace(); 
????} 
????} 
????return false; 
????} 
????public static void main(String[] args){ 
????try { 
????if (exportDatabaseTool("172.16.0.127"?? "root"?? "123456"?? "D:/backupDatabase"?? "2014-10-14.sql"?? "test")) { 
????System.out.println("????????????????"); 
????} else { 
????System.out.println("???????????????"); 
????} 
????} catch (InterruptedException e) { 
????e.printStackTrace(); 
????} 
????} 
????}