JAVA实现数据库备份与还原(2)
时间:2026-01-23
时间:2026-01-23
MYSQL备份命令行:
SQL代码
mysqldump -hhostname -uusername -ppassword databasename > ‘backupfile’
JAVA代码如下:
Java代码
public final String BACKUP_COMMAND ="mysqldump";
public final String ENCODING ="utf8";
public boolean backup(String file) {
boolean isSuccess =true;
try {
Runtime rt = Runtime.getRuntime();
String backupStr =this.getBackupStr();
T(backupStr);
Process process = rt.exec(backupStr);
BufferedReader br =new BufferedReader(new InputStreamReader(process.getInputStream(), ENCODING));
String inStr ="";
StringBuffer sb =new StringBuffer("");
while ((inStr = br.readLine()) !=null) {
sb.append(inStr).append("");
}
String outStr = sb.toString();
OutputStreamWriter writer
FileOutputStream(file), ENCODING);
writer.write(outStr);
writer.flush();
br.close(); writer.close(); }catch (Exception e) { =new OutputStreamWriter(new
e.printStackTrace();
isSuccess =false;
}
return isSuccess;
}
private String getBackupStr() {
String backupStr = BACKUP_COMMAND +" -u" + db.getUserName() +" -p" + db.getPassword() +" -h" + db.getHost() +" --set-charset=" + db.getEncoding() +"