package com.yh.mysql;
import java.io.File;
import java.io.IOException;
/**
* @Description: 执行mysql的数据导出
* @Author: yh
* @CreateDate: 2018/4/28 11:39
* @UpdateUser: yh.z
* @UpdateDate: 2018/4/28 11:39
* @UpdateRemark: The modified content
* @Version: 1.0
*/
public class Mysqldump {
public static void main(String[] args) {
exportDatabaseTool(args[0], args[1], args[2], "root", "123");
}
private static void exportDatabaseTool(String hostIP, String databaseName, String fileName, String userName, String password) {
if (fileName.contains(File.separator)){
String savePath=fileName.substring(0,fileName.lastIndexOf(File.separator)+1);
File saveFile = new File(savePath);
if (!saveFile.exists()) {// 如果目录不存在
saveFile.mkdirs();// 创建文件夹
}
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("mysqldump").append(" -h ").append(hostIP).append(" -u ").append(userName).append(" --password=").
append(password).append(" --databases ").append(databaseName)/*.append(" --default-character-set=utf8 ")*/
.append(" --result-file=")/*append(">")*/.append(fileName);
System.out.println("命令:" + stringBuilder.toString());
try {
System.out.println("开始导出备份数据。。。");
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(stringBuilder.toString());
if (process.waitFor() == 0) {// 0 表示线程正常终止。
//loger.info("数据库导出备份成功");
System.out.println("数据库导出备份成功");
} else {
System.out.println("process.waitFor()=" + process.waitFor());
}
} catch (IOException e) {
//loger.info("数据库导出备份异常");
System.out.println("数据库导出备份异常");
e.printStackTrace();
} catch (InterruptedException e) {
//loger.info("数据库导出备份异常");
System.out.println("数据库导出备份异常");
e.printStackTrace();
}
}
}
转载至链接:https://my.oschina.net/iyinghui/blog/1805955