她是我用来备份数据库的代码。当我运行它时,我成功获得了一个“backup.sql”文件但是当我检查它时,它是空的。没有数据,这意味着我没有备份,而是一个空的sql文件。
此外,当我运行此程序时,系统挂起,我必须通过任务管理器结束该过程。
public void Backupdbtosql() throws IOException, InterruptedException {
String executeCmd = "";
executeCmd ="mysqldump -u root -p root mydb--add-drop-database -r D:\\database\\backup.sql";
Process runtimeProcess =Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if(processComplete == 0){
System.out.println("Backup taken successfully");
} else {
out.println("Could not take mysql backup");
}
}
答案 0 :(得分:0)
我相信它正在等待你输入密码,来自mysqldump文档(http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_password)
"如果使用短选项表单(-p),则选项和密码之间不能有空格。"
尝试:
executeCmd ="mysqldump -u root -proot mydb--add-drop-database -r D:\\database\\backup.sql";