java 调用命令行 备份mysql数据库

来源:互联网 发布:淘宝网 返利哪个好 编辑:程序博客网 时间:2024/04/30 06:57
查看文本打印?
  1. // 方式1  
  2.     String command = "D:\\mysql\\bin\\mysqldump -h127.0.0.1 -uroot -p -ntd -R -dbname";  
  3.     Runtime runtime = Runtime.getRuntime();  
  4.     Process process = runtime.exec(command);  
  5.     InputStreamReader reader = new InputStreamReader(process.getInputStream());  
  6.     BufferedReader buffReader = new BufferedReader(reader);  
  7.     String inStr;  
  8.     String outStr;  
  9.     StringBuffer buffer = new StringBuffer();  
  10.     while ((inStr = buffReader.readLine()) != null) {  
  11.         buffer.append(inStr + "\r\n");  
  12.     }  
  13.     outStr = buffer.toString();  
  14.     OutputStream os = new FileOutputStream("D:\\sql.sql");  
  15.     OutputStreamWriter writer = new OutputStreamWriter(os);  
  16.     writer.write(outStr);  
  17.     writer.flush();  
  18.     reader.close();  
  19.     buffReader.close();  
  20.     os.close();  
  21.     writer.close();  
  22.   
  23.     // 方式2  
  24.     String command = "cmd /c mysqldump -h127.0.0.1 -uroot -p -ntd -R -dbname";  
  25.     Runtime runtime = Runtime.getRuntime();  
  26.     Process process = runtime.exec(command, null,new File("D:\\mysql\\bin"));  
  27.     InputStreamReader reader = new InputStreamReader(process.getInputStream());  
  28.     BufferedReader buffReader = new BufferedReader(reader);  
  29.     String inStr;  
  30.     String outStr;  
  31.     StringBuffer buffer = new StringBuffer();  
  32.     while ((inStr = buffReader.readLine()) != null) {  
  33.         buffer.append(inStr + "\r\n");  
  34.     }  
  35.     outStr = buffer.toString();  
  36.     OutputStream os = new FileOutputStream("D:\\sql.sql");  
  37.     OutputStreamWriter writer = new OutputStreamWriter(os);  
  38.     writer.write(outStr);  
  39.     writer.flush();  
  40.     reader.close();  
  41.     buffReader.close();  
  42.     os.close();  
  43.     writer.close();