
案例代码:
数据库备份
//mysqldump -h端口号 -u用户 -p密码 数据库 > d:/test.sql --备份D盘
//备份
public static void dataBaseDump(String port,String username,String password,String databasename,String sqlname) throws Exception {
File file = new File("F:\\test");
if ( !file.exists() ){
file.mkdir();
}
File datafile = new File(file+File.separator+sqlname+".sql");
if( datafile.exists() ){
System.out.println(sqlname+"文件名已存在,请更换");
return ;
}
//拼接cmd命令
Process exec = Runtime.getRuntime().exec("cmd /c mysqldump -h"+port+" -u "+username+" -p"+password+" "+databasename+" > "+datafile);
if( exec.waitFor() == 0){
System.out.println("数据库备份成功,备份路径为:"+datafile);
}
}
数据库还原
//还原
//mysql -h端口号 -u用户 -p密码 数据库 < d:/test.sql 恢复到数据库中
public static void backup(String port,String username,String password,String databasename,String sqlname) throws Exception {
File datafile = new File("F:\\test\\"+sqlname+".sql");
if( !datafile.exists() ){
System.out.println(sqlname+"文件不已存在,请检查");
return ;
}
//拼接cmd命令
Process exec = Runtime.getRuntime().exec("cmd /c mysql -h"+port+" -u "+username+" -p"+password+" "+databasename+" < "+datafile);
if( exec.waitFor() == 0){
System.out.println("数据库还原成功,还原的文件为:"+datafile);
}
}