MySql备份无法正常工作

Gap*_*oos 1 java mysql sql backup

String[] executeCmd = new String[] { "mysql", "-u",DB_USER,"-p"+DB_PASSWORD,DB_NAME, " < ", "\""+FileName+"\"" };

Process runtimeProcess = Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
System.out.println("processComplete: " + processComplete);
Run Code Online (Sandbox Code Playgroud)

这是我使用过的代码.调用"waitFor()"方法时程序挂起.

怎么解决这个?

Joh*_*Woo 5

你需要在参数后添加空格,不要使用数组

String executeCmd = "mysqldump ", " -u ",DB_USER," -p " + DB_PASSWORD, + " " + DB_NAME, " < ", "\""+FileName+"\"" ;
Run Code Online (Sandbox Code Playgroud)

更清洁的方法是使用 String.Format()

String executeCmd = String.Format("mysqldump -u %s -p %s %s < \"%s\"", DB_USER, DB_PASSWORD, DB_NAME, FileName)
Run Code Online (Sandbox Code Playgroud)

  • @elber好的,我的错误.我尝试在netbeans上,但它失败了,这就是为什么我说它不起作用但我意识到语法不正确.java使用`%s或etc`,而`c#`使用`{0},{1}等等 (2认同)