/**
* @param hostIP ip地址,可以是本机也可以是远程
* @param userName 数据库的用户名
* @param password 数据库的密码
* @param savePath 备份的路径
* @param fileName 备份的文件名
* @param databaseName 需要备份的数据库的名称
* @return
*/
public boolean backup(String hostIP, String userName, String password, String savePath, String fileName,
String databaseName) {
File saveFile = new File(savePath);
if (!saveFile.exists()) {// 如果目录不存在
saveFile.mkdirs();// 创建文件夹
}
String exePath = "mysqldump";
if (PlatformUtil.isWindows()) {
exePath = mysqldumpExePath;
}
//拼接命令行的命令
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(exePath).append(" --opt").append(" -h").append(hostIP);
stringBuilder.append(" --user=").append(userName).append(" --password=").append(password)
/*.append(" --lock-all-tables=true")*/;
stringBuilder.append(" --result-file=").append(savePath + "/" + fileName).append(" --default-character-set=utf8 ")
.append(databaseName);
try {
//调用外部执行exe文件的javaAPI
Process process = CMDUtil.execProcess(stringBuilder.toString());
process.waitFor();
InputStream errorStream = process.getErrorStream();
String s = IOUtils.toString(errorStream, "gbk");
System.out.println(s);
int value = process.exitValue();
if (value == 0) {// 0 表示线程正常终止。
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}

在 windows下,

mysqldumpExePath
表示的是mysqldump.exe的路径,包括文件名。

最新文章

  1. Smart原则
  2. vb.net下载代码
  3. linux 中\r
  4. sass 常用函数的整理
  5. openssl的CRYPTO_set_locking_callback
  6. 10个你可能不知道的JavaScript小技巧
  7. Html.RenderAction简单用法
  8. 走进C标准库(1)——assert.h,ctype.h
  9. Pahom on Water(最大流)
  10. net core VS goang web
  11. angular中控制器之间的通讯方式
  12. (简单) POJ 3667 Hotel,线段树+区间合并。
  13. 转换Json中的时间戳为标准时间格式
  14. WPF基础篇之静态资源和动态资源
  15. Linq To Object 函数介绍
  16. TensorFlow车牌识别实践(2)
  17. Confluence 6 "Duplicate Key" 相关问题解决
  18. Android NDK 使用自己的共享库(Import Module)
  19. Dom对象和jQuery对象的相互转化
  20. 使用NetHogs监控进程网络使用情况

热门文章

  1. continue & tag in GO
  2. ubuntu连接多个realsense d435
  3. 解决StrToDateTime()不是有效日期类型的问题
  4. Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
  5. FileHelper-文件操作工具
  6. Docker守护式容器
  7. PAT-2019年冬季考试-甲级 7-4 Cartesian Tree (30分)(最小堆的中序遍历求层序遍历,递归建树bfs层序)
  8. Linux磁盘空间查看、磁盘被未知资源耗尽
  9. Java8 特性
  10. 记一次偶发的bug排查——redis-py-cluster库的bug