java实现mysql数据备份
2024-09-01 13:29:11
/**
* @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的路径,包括文件名。
最新文章
- Smart原则
- vb.net下载代码
- linux 中\r
- sass 常用函数的整理
- openssl的CRYPTO_set_locking_callback
- 10个你可能不知道的JavaScript小技巧
- Html.RenderAction简单用法
- 走进C标准库(1)——assert.h,ctype.h
- Pahom on Water(最大流)
- net core VS goang web
- angular中控制器之间的通讯方式
- (简单) POJ 3667 Hotel,线段树+区间合并。
- 转换Json中的时间戳为标准时间格式
- WPF基础篇之静态资源和动态资源
- Linq To Object 函数介绍
- TensorFlow车牌识别实践(2)
- Confluence 6 ";Duplicate Key"; 相关问题解决
- Android NDK 使用自己的共享库(Import Module)
- Dom对象和jQuery对象的相互转化
- 使用NetHogs监控进程网络使用情况
热门文章
- continue &; tag in GO
- ubuntu连接多个realsense d435
- 解决StrToDateTime()不是有效日期类型的问题
- Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
- FileHelper-文件操作工具
- Docker守护式容器
- PAT-2019年冬季考试-甲级 7-4 Cartesian Tree (30分)(最小堆的中序遍历求层序遍历,递归建树bfs层序)
- Linux磁盘空间查看、磁盘被未知资源耗尽
- Java8 特性
- 记一次偶发的bug排查——redis-py-cluster库的bug