- 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();
- logger.infoT(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 =new OutputStreamWriter(new FileOutputStream(file), ENCODING);
- writer.write(outStr);
- writer.flush();
- br.close();
- writer.close();
- }catch (Exception e) {
- e.printStackTrace();
- isSuccess =false;
- }
- return isSuccess;
- }
mysql -hhostname -uusername -ppassword databasename < ‘backupfile’
JAVA代码如下: Java代码 53
public final String REVERT_COMMAND ="mysql"; 54 55
public boolean revert(String file) { 56
try { 57
Runtime rt = Runtime.getRuntime(); 58
String revertStr =this.getRevertStr(); 59
Process process = rt.exec(revertStr); 60 61
String inStr; 62
StringBuffer sb =new StringBuffer(""); 63
BufferedReader br =new BufferedReader(new InputStreamReader( 64
new FileInputStream(file), ENCODING)); 65
while ((inStr = br.readLine()) !=null) { 66
sb.append(inStr).append(""); 67
} 68
String outStr = sb.toString(); 69 70
OutputStreamWriter writer =new OutputStreamWriter(process.getOutputStream(), ENCODING); 71
writer.write(outStr); 72
writer.flush(); 73
br.close(); 74
writer.close(); 75
}catch (Exception e) { 76
e.printStackTrace(); 77
return false; 78
} 79
return true; 80
} 81 82
private String getRevertStr() { 83
String backupStr = REVERT_COMMAND +" -u" + db.getUserName() +" -p" + db.getPassword() +" -h" + db.getHost() +" " + db.getName();
return backupStr; 85
}