我需要对mysql进行数据库备份,但它应该具有某些功能。 备份应该在java swing中点击一个按钮时执行。
路径:路径应该由我保存在哪里(例如c:// backup)但路径应该是这样的,如果我向其他用户提供我的java的jar文件应该没有保存问题,哪条路最好用呢?
名称:名称将由3个字符串组成,一个是基本字符串,另一个是Datetime格式字符串,后面再次是第3个字符串。 (例如FileName-2012-02-12 09:00:00-Name)。
我怎样才能做到这一点?有人可以指导我吗
我尝试使用mysqldump进行编码,但仍然无法完成。
String dbName = "dth";
String dbUser = "root";
String dbPass = "root";
String executeCmd = "";
executeCmd = "mysqldump -u " + dbUser + " -p" + dbPass + " " + dbName + " -r C:\\backup.sql";
Process runtimeProcess = Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if (processComplete == 0) {
System.out.println("Backup taken successfully");
} else {
System.out.println("Could not take mysql backup");
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
我尝试了上面的代码,但我无法完成它,继续给我
CreateProcess error = 2,系统找不到指定的文件 错误。
我已经通过在该位置创建.sql文件来尝试它,但我仍然得到相同的错误。
答案 0 :(得分:1)
我只是使用mysqldump命令。也许你甚至可以从你正在编写的任何程序中调用它。语法很简单:
mysqldump -u <user> -h <host> -p<password> <dbname> > <filename>
这只会将整个数据库作为sql脚本放入该文件中。