我想知道如何使这一功能,当我想备份我的数据库在我的程序只需一键数据库应保存的文件,当我点击恢复按钮,它应该是自动恢复数据库。
我的程序设计是用jFrame实现的这是主要的界面代码
package bankapplication;公共类MainInterface扩展了javax.swing.JFrame {
public MainInterface() {
initComponents();
setLocationRelativeTo(null);
setIcon();
}
} 如果你知道如何解决这个问题,请帮我解决。谢谢..
发布于 2016-04-15 01:08:43
java.lang.Runtime.exec(String command)方法在一个单独的进程中执行指定的string command,您可以使用以下查询对其执行import and export mysql database
备份:# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
我对我的程序所做的是使用java运行时执行上面的查询。我已经创建的查询:- "mysqldump -u " + "root" + " -p" + "password" + " databasename -r " + javaPath"用你的密码替换password,用你的数据库名替换databasename,然后试一下代码,让我们知道你在那之后得到的错误。
execute a back up
public void executeBackUp(){
try {
String javaPath = "filePath";
Runtime.getRuntime().exec("mysqldump -u " + "root" + " -p" + "password" + " databasename -r " + javaPath);
JOptionPane.showMessageDialog(this, "Backup File Created.", "Done", 1);
} catch (Exception e) {
e.printStackTrace();
}
}
restore a backup
public void restore(){
try {
String path = "filepath";
String arrayCommand[] = new String[]{"mysql", "databasename", "-u", "root", "-p" + "password", "-e", " source " + path};
Process runtimeProcess = Runtime.getRuntime().exec(arrayCommand);
int processStatus = runtimeProcess.waitFor();
if (processStatus == 1) {
System.out.println("failed");
} else if (processStatus == 0) {
System.out.println("success");
}
} catch (Exception e) {
e.printStackTrace();
}
}https://stackoverflow.com/questions/36629411
复制相似问题