我能够在以下 java 代码的帮助下使用mysqldump.exe将当前 mysql 数据库创建为 .SQL文件的备份。
Process runProcess = Runtime.getRuntime().exec("C:\\SCM Files\\SQL Backup\\mysqldump.exe -uroot -p123 rr -r\"C:\\SCM Files\\SQL Backup\\RR.sql");
Run Code Online (Sandbox Code Playgroud)
现在,我想在单击按钮时使用与上面类似的 java代码将同一个 .SQL 备份文件恢复到 mysql 数据库。
多谢 :)
所以现在我尝试了这个;
Process runProcess = Runtime.getRuntime().exec("C:\\SCM Files\\SQL Backup\\mysqldump.exe -uroot -p123 rr < C:\\SCM Files\\SQL Backup\\RR.sql");
但还是没用:/
public static boolean restoreDB(String dbName, String dbUserName, String dbPassword, String source) {
String[] executeCmd = new String[]{"mysql", "--user=" + dbUserName, "--password=" + dbPassword, dbName,"-e", " source "+source};
Process runtimeProcess;
try {
runtimeProcess = Runtime.getRuntime().exec(executeCmd);
int 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();
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
源示例:“E:\\My Backup\\Test\\file.sql”