最近有个新的需求,需要java调用mysql数据库,执行数据库备份操作,
一条mysqldump命令,在windows命令行窗口执行是没问题的,
但是我用java调用一直报错,每次都返回1,很头疼。
程序如下:
System.out.println("**************开始执行mysqldump命令************");
try {
StringBuilder commandStr = new StringBuilder();
commandStr.append("mysqldump -h 127.0.0.1 -uroot -p123456 testbase >C:\\Users\\dumpdata.sql");
System.out.println("当前执行的命令为:" + commandStr.toString());
String[] command = {"cmd", "/c", commandStr.toString()};
Process process = Runtime.getRuntime().exec(command);
System.out.println("mysqldump命令===" + process.waitFor());
} catch (Exception e) {
e.printStackTrace();
System.out.println("mysqldump命令执行报错...");
}
System.out.println("**************mysqldump命令执行完成************");
执行结果如下:
**************开始执行mysqldump命令************
当前执行的命令为:mysqldump -h 127.0.0.1 -uroot -p123456 testbase >C:\Users\dumpdata.sql
mysqldump命令===1
**************mysqldump命令执行完成************
希望帮忙解决下