Java程序中实现 MySQL数据库的备份与还原

时间:2023-03-09 17:06:20
Java程序中实现 MySQL数据库的备份与还原

案例代码:

数据库备份

     //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);
}
}