/**
* MySql数据库导出
* @param hostIp MySQL数据库所在服务器地址IP
* @param userName 进入数据库所需要的用户名
* @param password 进入数据库所需要的密码
* @param databaseName 要导出的数据库名
* @return list
* list.get(0) 是否成功 返回true表示导出成功,否则返回false。
* list.get(1) 保存路径
* list.get(2) 文件名称
*
*/
public static List exportDatabase(String hostIp,String userName, String password, String databaseName) {
List reList = new ArrayList();
boolean flag = true;
//生成保存路径
String savePath = YYTConstant.file_dir_mysql + "/"
+ YYTConstant.file_dir_backup + "/"
+ DateUtil.getThisYear() + "/"+ DateUtil.getThisDate();
//生成文件名称
String fileName = DateUtil.getSystemDateByyyyyMMddHHmmss() + "-yytdb.sql";
try {
System.out.print(PropKit.get("filePath") + savePath);
File file = new File(PropKit.get("filePath") +"/"+ savePath);
if (!file.exists()) {// 如果目录不存在
file.mkdirs(); // 创建文件夹
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("mysqldump").append(" --opt").append(" -h").append(hostIp).append(" "+databaseName);
stringBuilder.append(" -u").append(userName) .append(" -p").append(password);
stringBuilder.append(" --result-file=").append(PropKit.get("filePath") + savePath + "/"+ fileName).append(" --default-character-set=utf8 ");
try {
System.out.print("---------------开始执行数据库备份");
System.out.print("---数据库备份"+stringBuilder.toString());
Process process = Runtime.getRuntime().exec(stringBuilder.toString());
if (process.waitFor() == 0) {// 0 表示线程正常终止。
System.out.print("---------------数据库备份成功");
flag = true;
}else{
System.out.print("---------------数据库备份失败");
flag = false;
}
} catch (IOException e) {
flag = false;
e.printStackTrace();
} catch (InterruptedException e) {
flag = false;
e.printStackTrace();
}
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
reList.add(flag);
reList.add(savePath);
reList.add(fileName);
return reList;
}
* MySql数据库导出
* @param hostIp MySQL数据库所在服务器地址IP
* @param userName 进入数据库所需要的用户名
* @param password 进入数据库所需要的密码
* @param databaseName 要导出的数据库名
* @return list
* list.get(0) 是否成功 返回true表示导出成功,否则返回false。
* list.get(1) 保存路径
* list.get(2) 文件名称
*
*/
public static List exportDatabase(String hostIp,String userName, String password, String databaseName) {
List reList = new ArrayList();
boolean flag = true;
//生成保存路径
String savePath = YYTConstant.file_dir_mysql + "/"
+ YYTConstant.file_dir_backup + "/"
+ DateUtil.getThisYear() + "/"+ DateUtil.getThisDate();
//生成文件名称
String fileName = DateUtil.getSystemDateByyyyyMMddHHmmss() + "-yytdb.sql";
try {
System.out.print(PropKit.get("filePath") + savePath);
File file = new File(PropKit.get("filePath") +"/"+ savePath);
if (!file.exists()) {// 如果目录不存在
file.mkdirs(); // 创建文件夹
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("mysqldump").append(" --opt").append(" -h").append(hostIp).append(" "+databaseName);
stringBuilder.append(" -u").append(userName) .append(" -p").append(password);
stringBuilder.append(" --result-file=").append(PropKit.get("filePath") + savePath + "/"+ fileName).append(" --default-character-set=utf8 ");
try {
System.out.print("---------------开始执行数据库备份");
System.out.print("---数据库备份"+stringBuilder.toString());
Process process = Runtime.getRuntime().exec(stringBuilder.toString());
if (process.waitFor() == 0) {// 0 表示线程正常终止。
System.out.print("---------------数据库备份成功");
flag = true;
}else{
System.out.print("---------------数据库备份失败");
flag = false;
}
} catch (IOException e) {
flag = false;
e.printStackTrace();
} catch (InterruptedException e) {
flag = false;
e.printStackTrace();
}
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
reList.add(flag);
reList.add(savePath);
reList.add(fileName);
return reList;
}