如何使用java进行mysql数据库备份?
我试图使用以下代码进行mysql数据库备份,但当我运行该程序时,出现了如下异常。任何人都可以帮助解决这个问题 Java代码:如何使用java进行mysql数据库备份?,java,mysql,mysqldump,Java,Mysql,Mysqldump,我试图使用以下代码进行mysql数据库备份,但当我运行该程序时,出现了如下异常。任何人都可以帮助解决这个问题 Java代码: String path = "D:/databasbac.sql"; String username = "root"; String password = ""; String dbname = "ranjith"; String executeCmd = "<Path to MySQ
String path = "D:/databasbac.sql";
String username = "root";
String password = "";
String dbname = "ranjith";
String executeCmd = "<Path to MySQL>/bin/mysqldump -u " + username + " -p" + password + " --add-drop-database -B " + dbname + " -r " + path;
Process runtimeProcess;
try {
// System.out.println(executeCmd);//this out put works in mysql shell
runtimeProcess = Runtime.getRuntime().exec(new String[] { "cmd.exe", "/c", executeCmd });
// runtimeProcess = Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if (processComplete == 0) {
System.out.println("Backup created successfully");
} else {
System.out.println("Could not create the backup");
}
} catch (Exception ex) {
ex.printStackTrace();
}
stringpath=“D:/databasebac.sql”;
字符串username=“root”;
字符串密码=”;
字符串dbname=“ranjith”;
String executeCmd=“/bin/mysqldump-u”+用户名+“-p”+密码+”--添加删除数据库-B”+数据库名+“-r”+路径;
进程运行时进程;
试一试{
//System.out.println(executeCmd);//此输出在mysql shell中工作
runtimeProcess=Runtime.getRuntime().exec(新字符串[]{“cmd.exe”,“/c”,executeCmd});
//runtimeProcess=Runtime.getRuntime().exec(executeCmd);
int processComplete=runtimeProcess.waitFor();
if(processComplete==0){
System.out.println(“备份创建成功”);
}否则{
System.out.println(“无法创建备份”);
}
}捕获(例外情况除外){
例如printStackTrace();
}
至少有两个问题:
mysqldump.exe
的完整路径(例如C:\Program Files\MySQL\bin\mysqldump.exe
)-p
参数如果没有密码值,将强制mysqldump提示输入密码。您不需要它,因为您是以批处理模式运行它的。因此,要么提供密码-p“您的密码”
,要么更好(更安全)地使用选项文件,以避免在命令行上提供密码。请阅读更多关于此的信息我已经更新了我的答案,请检查并告诉MeeException现在不来了,但sop正在打印,好像无法创建备份一样