java试图从LAN网络上的不同pc机获取db备份时会生成空sql文件
当我尝试从另一台PC(称为pac 1)获取数据库备份时,它通过使用mysqldump将计算机(称为pac 2)服务器访问到本地计算机,并连接到同一个本地网络
数据库在PC 1上,我想通过执行java程序在PC上生成数据库备份。目前我实现了这一点,但是有一个错误,所以创建了一个空的SQL文件
userPathForDbBackup
是一个字符串,它采用从用户到文件选择器的路径mySqlPath
是一个变量,它是pc2上的文件路径
String mySqlPath="C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\mysqldump.exe";
String name="name";
String pathFinal=userPathForDbBackup + "\\Backup_" + name + ".sql";
String[] command = {mySqlPath,"mysqldump", "-h"+dbh, "-u "+dbUser, "-p" + dbPass, dbName,">"+pathFinal};
try{
connection = create_connection.jdbc.getCon();
String executeCmd = "";
if(connection!=null){
executeCmd = "mysqldump -h"+dbh+"-u"+dbUser+" -p"+dbPass+" "+dbName+"file.sql" ;
System.out.println();
ProcessBuilder pb = new ProcessBuilder(command);
Process runtimeProcess =pb.start();
// Process runtimeProcess =Runtime.getRuntime().exec(command);
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();
}
这不会引发任何异常,但会在用户选择的目录中创建一个空SQL文件
# 1 楼答案
终于让这个密码起作用了