2014-02-14 4 views
-1

다음 코드를 사용하여 mysql 데이터베이스 백업을 시도하고 있지만 프로그램을 실행할 때 아래와 같은 예외가 발생합니다. Plz 누구나이 문제를 해결하기 위해 도움을 plz 수 있습니다.java를 사용하여 mysql 데이터베이스 백업을 수행하는 방법은 무엇입니까?

자바 코드 :

 String path = "D:/databasbac.sql"; 
     String username = "root"; 
     String password = ""; 
     String dbname = "ranjith"; 
     String executeCmd = "<Path to MySQL>/bin/mysqldump -u " + username + " -p" + password + " --add-drop-database -B " + dbname + " -r " + path; 
     Process runtimeProcess; 
     try { 
//   System.out.println(executeCmd);//this out put works in mysql shell 
      runtimeProcess = Runtime.getRuntime().exec(new String[] { "cmd.exe", "/c", executeCmd }); 
//   runtimeProcess = Runtime.getRuntime().exec(executeCmd); 
      int processComplete = runtimeProcess.waitFor(); 

      if (processComplete == 0) { 
       System.out.println("Backup created successfully"); 

      } else { 
       System.out.println("Could not create the backup"); 
      } 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
+0

예외에 대한 자세한 이제 오지 않아 있지만 백업을 만들 수 없습니다처럼 빵 조각이 인쇄되어 – user3214269

답변

0

이 적어도 두 가지 문제입니다

  1. 가 전체 경로를 제공 mysqldump.exe (예 : C:\Program Files\MySQL\bin\mysqldump.exe)
  2. -p 암호 값을 강제 mysqldump는없는 매개 변수 그것을 촉구합니다. 그리고 배치 모드에서 실행 한 이후로는 원하지 않습니다. 따라서 암호를 -p"your password" 이상으로 제공하거나 옵션 파일을 사용하여 명령 줄에서 암호를 지정하지 않는 것이 안전합니다. 읽기이 End-User Guidelines for Password Security
+0

나는 유 PLZ 확인하고 말해 줄 수 내 대답을 업데이트 한 – user3214269