我使用此代码导入(恢复).sql文件:
String command2="/Users/macbookpro/mysql-5.6.16-osx10.7-x86_64/bin/mysql --host mydb.ckwwsnbi2lvi.us-west-2.rds.amazonaws.com --port 3306 -u XXX -pXXXX testcomm </Users/macbookpro/Downloads/world3.sql"
Process runtimeProcess;
try {
runtimeProcess = Runtime.getRuntime().exec(command2);
processComplete = runtimeProcess.waitFor();
if (processComplete == 0) {
System.out.println("Backup restored successfully");
// return true;
} else {
System.out.println("Could not restore the backup");
}
} catch (Exception ex) {
ex.printStackTrace();
}
该命令在终端中运行良好,但是当我运行 Java 代码时它不起作用。任何帮助将不胜感激。
谢谢你的帮助。问题解决了。我正在用字符串数组替换字符串并使用"-e source"而不是"<"。
这是新命令:
String[] command2 = new String[]{"/Users/macbookpro/mysql-5.6.16-osx10.7-x86_64/bin/mysql","--host=" + ad,"--port=" + pt,"--user=" + u,"--password="+ p,"testcomm","-e"," source "+"/Users/macbookpro/Downloads/world3.sql"};
这个链接对我很有帮助。