美好的一天,我正在尝试将 mysql 备份从远程服务器备份到我的本地计算机。当我在本地机器上安装 mysql 客户端时,我可以这样做。但是当客户端没有本地 mysql 客户端安装时,它无法正常工作......
我一直在使用 jdbc 连接连接到 mysql 服务器,我的代码片段如下:
try{
String cs = "jdbc:mysql://" + dbh + ":" + dbport + "/" + database + "?user=" + USER + "&password=" + PASS+"";
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = java.sql.DriverManager.getConnection(cs);
String executeCmd = "";
if(connection!=null){
executeCmd = "mysqldump -u "+USER+" -p"+PASS+" "+database+" -r "+path;
Process runtimeProcess =Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if(processComplete == 0){
System.out.println("Backup taken successfully");
} else {
System.out.println("Could not take mysql backup");
}
} else{
System.out.println("connection not sucess");
}
}catch (Exception e) {
e.printStackTrace();
}
我认为这可能是 mysqldump PATH 的一些问题,所以我将此文件复制到客户端计算机,并指定了 mysqldump 的绝对路径executeCmd
。这次备份文件是在指定的路径中创建的,但它是空的 &processComplete
返回一个值2
。我的问题是,
- 我需要任何其他 mysql 文件来运行 mysqldump 命令吗?如果是这样,除了将这些命令复制到本地机器之外,如何做到这一点?
- 返回值为 2 的 waitFor() 是什么意思?
感谢和问候
iMmo