Java程序中实现 MySQL数据库的备份与还原
案例代码:
数据库备份
1 //mysqldump -h端口号 -u用户 -p密码 数据库 > d:/test.sql --备份D盘 2 //备份 3 public static void dataBaseDump(String port,String username,String password,String databasename,String sqlname) throws Exception { 4 File file = new File("F:\\test"); 5 if ( !file.exists() ){ 6 file.mkdir(); 7 } 8 File datafile = new File(file+File.separator+sqlname+".sql"); 9 if( datafile.exists() ){ 10 System.out.println(sqlname+"文件名已存在,请更换"); 11 return ; 12 } 13 //拼接cmd命令 14 Process exec = Runtime.getRuntime().exec("cmd /c mysqldump -h"+port+" -u "+username+" -p"+password+" "+databasename+" > "+datafile); 15 if( exec.waitFor() == 0){ 16 System.out.println("数据库备份成功,备份路径为:"+datafile); 17 } 18 }
数据库还原
//还原 //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); } }