String exes="cmd /c mysqldump -h127.0.0.1 -uroot -p123456 -B test>D:\\test.bk.sql";
Process process = Runtime.getRuntime().exec(exes);
process.waitFor();
mysqldump命令需要配置mysql环境变量,在PATH中加入mysql bin路径即可(C:\Program Files\MySQL\MySQL Server 5.6\bin)
结果发现输出的test.bk.mysql文件为0字节。
原因:mysqldump命令路径中含有空格造成,即Program File和 MySQL Server 5.6文件名的空格。
解决:将mysqldump.exe拷贝到项目目录下或无空格的目录下,在java中添加mysqldump路径。
String mysqlDumpPath = "C:\\";
String exes="cmd /c"+mysqlDumpPath+"mysqldump -h127.0.0.1 -uroot -p123456 -B test>D:\\test.bk.sql";
Process process = Runtime.getRuntime().exec(exes);
process.waitFor();