2014-02-14 4 views
-1

Я пытаюсь взять резервную копию базы данных mysql, используя следующий код, но я получаю исключение, как показано ниже при запуске программы. Plz может любой plz помочь решить эту проблему.Как получить резервную копию базы данных mysql с помощью java?

Java код:

 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

Exception не приходит сейчас, но СОП печатает как и не удалось создать резервную копию – user3214269

ответ

0

Есть по крайней мере два вопроса:

  1. Обеспечить полный путь к mysqldump.exe (например C:\Program Files\MySQL\bin\mysqldump.exe)
  2. -p параметр без туздЫшпра значения пароля сил запросить его. И вы не хотите этого, так как вы запускаете его в пакетном режиме. Поэтому либо укажите пароль -p"your password", либо лучше (и более безопасный) используйте файл параметров, чтобы избежать ввода пароля в командной строке. Подробнее об этом End-User Guidelines for Password Security
+0

Я обновил свой ответ может у плз проверить и сказать мне – user3214269

Смежные вопросы