I tried to run the following code which is to create a backup of my database but it shows some run time errors.
But, I tried to run the Syst
Please check whether your Global PATH environment variable has <Path to MySQL>\bin in it (Do a echo %PATH%
and see). Effectively you should be able to type your System.out.println() content in a Plain DOS prompt and should be able to run it.
Even with that if it doesn't work try changing the code to execute like below
runtimeProcess = Runtime.getRuntime().exec(new String[] { "cmd.exe", "/c", executeCmd });
This should ideally fix the issue.
UPDATE:
If you don't have it in the PATH environment variable change the code to following
String executeCmd = "<Path to MySQL>/bin/mysqldump -u " + dbUserName + " -p" + dbPassword + " --add-drop-database -B " + dbName + " -r " + path;
runtimeProcess = Runtime.getRuntime().exec(new String[] { "cmd.exe", "/c", executeCmd });
i tried this one but it didn't work so i replaced it with
this runtimeProcess = Runtime.getRuntime().exec(executeCmd);
and it worked
I solved this problem by giving full path to mysqldump.exe
You can get SO environment variables by
Map<String, String> env = System.getenv();
final String LOCATION = env.get("MYSQLDUMP");
I setup the system variable like this :
MYSQLDUMP
D:\xampp\mysql\bin\mysqldump.exe
Now just execute this code below,
String executeCmd = LOCATION+" -u " + DBUSER + " --add-drop-database -B " + DBNAME + " -r " + PATH + ""+FILENAME
Process runtimeProcess = = Runtime.getRuntime().exec(executeCmd);
Note : If you don't have configured password for mysql server just remove the -p PASSWORD
attribute from the code. And don't forget to restart your computer after creating a new system variable.