java调用cmd命令在linux执行mysql数据恢复命令
Statement statement = con.createStatement();
ResultSet resultsql = statement.executeQuery(“select @@basedir as basePath from dual”);
if (resultsql.next()) {
String path = resultsql.getString(“basePath”);
binPath = path+"/bin/mysqldump";//获取mysql的seviser文件位置
}else{
resultBean.setFailure();
resultBean.setMessage(“找不到IP链接数据库”);
return resultBean.toJSON();
}
cmd.append(binPath).append(" -h").append(ip).append(" -P").append(port).append(" -u")
.append(username).append(" -p").append(password).append(" --default-character-set=utf8 “)
.append(databaseName);
try {
System.out.print(“还原sql脚本”+cmd.toString()+”;备份文件完整路径"+savePath+";");//精确到.sql文件
result = mysqlRecover(cmd.toString(), savePath);
resultBean.setSuccess();
resultBean.setMessage(“还原成功!”);
System.out.print(“还原sql脚本执行成功!---------------------------------;”);
} catch (Exception e) {
resultBean.setFailure();
resultBean.setMessage(“异常”);
System.out.print(“还原sql脚本执行异常!---------------------------------;”);
e.printStackTrace();
}