JAVA实现数据库备份与还原(3)
时间:2026-01-23
时间:2026-01-23
" + db.getName();
return backupStr;
}
MYSQL还原命令行:
SQL代码
mysql -hhostname -uusername -ppassword databasename < ‘backupfile’ JAVA代码如下:
Java代码
public final String REVERT_COMMAND ="mysql";
public boolean revert(String file) {
try {
Runtime rt = Runtime.getRuntime();
String revertStr =this.getRevertStr();
Process process = rt.exec(revertStr);
String inStr;
StringBuffer sb =new StringBuffer("");
BufferedReader br =new BufferedReader(new InputStreamReader( new FileInputStream(file), ENCODING));
while ((inStr = br.readLine()) !=null) {
sb.append(inStr).append("");
}
String outStr = sb.toString();
OutputStreamWriter writer
OutputStreamWriter(process.getOutputStream(), ENCODING);
writer.write(outStr);
writer.flush();
br.close();
writer.close();
}catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
private String getRevertStr() {
String backupStr = REVERT_COMMAND +" -u" + db.getUserName() +" -p" + db.getPassword() +" -h" + db.getHost() +" " + db.getName(); =new